主页 > 知识库 > Opencv实现二维直方图的计算及绘制

Opencv实现二维直方图的计算及绘制

热门标签:旅游厕所地图标注怎么弄 无锡智能外呼系统好用吗 电梯新时达系统外呼显示e 百应电话机器人总部 南昌地图标注 成都呼叫中心外呼系统哪家强 宿州电话机器人哪家好 地图标注与注销 西青语音电销机器人哪家好

这篇博客将介绍如何使用Python,Opencv进行二维直方图的计算及绘制(分别用Opencv和Numpy计算),二维直方图可以让我们对不同的像素密度有更好的了解。

1. 效果图

原始图如下:

1维直方图如下:

2维直方图如下:

X轴显示S值,Y轴显示色调。

hsvmap效果图如下:

2. 源码

# OpenCV中的二维直方图:使用相同的函数cv2.calcHist()计算。
# 对于1D直方图,我们从BGR转换为灰度
# 对于2D直方图,需要将图像从BGR转换为HSV

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('ym.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 1维直方图
hist = cv2.calcHist([gray], [0], None, [256], [0, 256])
hist, bins = np.histogram(img.ravel(), 256, [0, 256])
plt.hist(img.ravel(), 256, [0, 256])
plt.show()

# 二维直方图可以让我们对不同的像素密度有了更好的了解
# OpenCV计算2D直方图
# HSV图像 [0,1]表示H、S通道,[180,256]表示H、S的bins分别为180、256
# [0,180,0,256]表示值的范围
hist = cv2.calcHist([hsv], [0, 1], None, [180, 256], [0, 180, 0, 256])

hist = np.clip(hist * 0.005, 0, 1)
cv2.imshow('hist', hist)
cv2.waitKey(0)

plt.imshow(hist, interpolation='nearest')
plt.show()

# Numpy计算1D直方图:np.histogram();
# Numpy计算2D直方图:np.historogram2d()
h, s, v = cv2.split(hsv)
hist, xbins, ybins = np.histogram2d(h.ravel(), s.ravel(), [180, 256], [[0, 180], [0, 256]])
plt.imshow(hist, interpolation='nearest')
plt.show()

参考

 https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_histograms/py_2d_histogram/py_2d_histogram.html#twod-histogram

https://github.com/seminar2012/opencv/blob/master/samples/python/color_histogram.py

到此这篇关于Opencv实现二维直方图的计算及绘制的文章就介绍到这了,更多相关Opencv 二维直方图 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • OpenCV-Python直方图均衡化实现图像去雾
  • 基于OpenCV的直方图匹配的实现方法
  • python 对一幅灰度图像进行直方图均衡化
  • OpenCV利用python来实现图像的直方图均衡化
  • 详解用Python为直方图绘制拟合曲线的两种方法
  • opencv python统计及绘制直方图的方法
  • OpenCV半小时掌握基本操作之直方图

标签:赣州 渭南 七台河 雅安 许昌 西安 潍坊 辛集

巨人网络通讯声明:本文标题《Opencv实现二维直方图的计算及绘制》,本文关键词  Opencv,实现,二维,直方图,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Opencv实现二维直方图的计算及绘制》相关的同类信息!
  • 本页收集关于Opencv实现二维直方图的计算及绘制的相关信息资讯供网民参考!
  • 推荐文章