Opencv实现二维直方图的计算及绘制
这篇博客将介绍如何使用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://github.com/seminar2012/opencv/blob/master/samples/python/color_histogram.py
到此这篇关于Opencv实现二维直方图的计算及绘制的文章就介绍到这了,更多相关Opencv 二维直方图 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
CentOS 6.5下安装Python 3.5.2(与Python2并存)
这篇文章主要给大家介绍了在CentOS 6.5下安装Python 3.5.2的方法教程,安装后的python3与Python2并存,文中分享了详细的方法步骤,对大家具有一定的参考学习价值,下面来一起看看吧。2017-06-06pandas pd.cut()与pd.qcut()的具体实现
本文主要介绍了pandas pd.cut()与pd.qcut()的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-01-01Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
在Python中我们可以使用SQLAlchemy框架进行数据库操作,那么对应的在Flask框架中我们可以使用SQLAlchemy,下面我们就来看一下Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程2016-06-06Python如何利用xlrd和xlwt模块操作Excel表格
这篇文章主要给大家介绍了关于Python如何利用xlrd和xlwt模块操作Excel表格的相关资料,其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入,需要的朋友可以参考下2022-03-03在python tkinter中Canvas实现进度条显示的方法
今天小编就为大家分享一篇在python tkinter中Canvas实现进度条显示的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-06-06Python深度学习pyTorch权重衰减与L2范数正则化解析
这篇文章主要介绍了Python深度学习中的pyTorch权重衰减与L2范数正则化的详细解析,文中附含详细示例代码,有需要的朋友可以借鉴参考下2021-09-09
最新评论