当前位置: 首页 > news >正文

香港特别行政区网站建设_网站建设公司_支付系统_seo优化

网站备案的接入商,wordpress支持多少会员,怀化百度关键词优化公司,网站备案过户本文主要介绍一些opencv关于直方图的一些知识运用#xff0c;直方图是非常常用的图像处理方法#xff0c;有时候在很多图像预处理中能起到特别好的效果#xff0c;大家可以一起来学习探讨~目录直方图计算直方图直方图均衡化CLAHE 自适应均衡化2D直方图直方图反射投影直方图✏…本文主要介绍一些opencv关于直方图的一些知识运用直方图是非常常用的图像处理方法有时候在很多图像预处理中能起到特别好的效果大家可以一起来学习探讨~目录直方图计算直方图直方图均衡化CLAHE 自适应均衡化2D直方图直方图反射投影直方图✏️ 问什么是直方图️ 答直方图是可以对整幅图的灰度分布进行整体了解的图示通过直方图我们可以对图像的对比度、亮度和灰度分布等有一个直观了解。计算直方图使用opencv的函数cv2.calcHist(images, channels, mask, histSize, ranges):参数1要计算的原图以方括号的传入如[img]。参数2类似前面提到的dims灰度图写[0]就行彩色图B/G/R分别传入[0]/[1]/[2]。参数3要计算的区域ROI计算整幅图的话写None。参数4也叫bins,子区段数目如果我们统计0-255每个像素值bins256如果划分区间比如0-15, 16-31…240-255这样16个区间bins16。参数5range,要计算的像素值范围一般为[0,256)。hist cv2.calcHist([img], [0], None, [256], [0, 256]) # 性能0.025288 s使用numpy的函数 np.bincount():用Numpy的函数计算其中ravel()函数将二维矩阵展平变成一维数组.hist np.bincount(img.ravel(), minlength256) # 性能0.003163 s绘制直方图使用Matplotlib自带的绘制工具plt.hist()绘制。plt.hist(img.ravel(), 256, [0, 256])✔️ 当然也可以用前面计算出来的结果绘制plt.plot(hist)✔️ 当然也可以绘制出r,g,b不同通道的直方图import numpy as npimport cv2 as cvfrom matplotlib import pyplot as pltimg cv.imread(../data/home.jpg)color (b,g,r)for i,col in enumerate(color): histr cv.calcHist([img],[i],None,[256],[0,256]) plt.plot(histr,color col) plt.xlim([0,256])plt.show()r,g,b通道的直方图✔️ 当然也可以绘制出ROI的直方图import numpy as npimport cv2 as cvfrom matplotlib import pyplot as pltimg cv.imread(../data/home.jpg,0)mask np.zeros(img.shape[:2], np.uint8)mask[100:300, 100:400] 255mask_img cv.bitwise_and(img, img , mask mask)hist_full cv.calcHist([img],[0],None,[256],[0,256])hist_mask cv.calcHist([img],[0],mask,[256],[0,256])cv.imshow(fd, mask_img)cv.waitKey(0)plt.subplot(221), plt.imshow(img, gray)plt.subplot(222), plt.imshow(mask,gray)plt.subplot(223), plt.imshow(mask_img, gray)plt.subplot(224), plt.plot(hist_full), plt.plot(hist_mask)plt.xlim([0,256])plt.show()ROI的直方图直方图均衡化⛳️ 一副效果好的图像通常在直方图上的分布比较均匀直方图均衡化就是用来改善图像的全局亮度和对比度。直方图均衡化OpenCV中用cv2.equalizeHist() 实现均衡化:1️⃣ 灰度图均衡直接使用cv2.equalizeHist(gray)2️⃣ 彩色图均衡分别在不同的通道均衡后合并import cv2import numpy as npimg cv2.imread(girl.jpg, 1)gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 灰度图均衡化equ cv2.equalizeHist(gray)# 水平拼接原图和均衡图result1 np.hstack((gray, equ))# 彩色图像均衡化,需要分解通道 对每一个通道均衡化(b, g, r) cv2.split(img)bH cv2.equalizeHist(b)gH cv2.equalizeHist(g)rH cv2.equalizeHist(r)# 合并每一个通道equ2 cv2.merge((bH, gH, rH))# 水平拼接原图和均衡图result2 np.hstack((img,equ2))灰度均衡化彩色均衡化CLAHE 自适应均衡化直方图均衡化是应用于整幅图片的会导致一些图片部位太亮导致大部分细节丢失因此引入自适应均衡来解决这个问题。它在每一个小区域内(默认8×8)进行直方图均衡化。当然如果有噪点的话噪点会被放大需要对小区域内的对比度进行了限制。彩色图同样需要split为r,g,b后均衡然后merge。# 自适应均衡化参数可选clahe cv2.createCLAHE(clipLimit2.0, tileGridSize(8, 8))cl1 clahe.apply(img)2D直方图⛳️ 2D直方图通常需要考虑每个颜色(Hue)和饱和度(Saturation)。✔️ 同样适用cv2.calcHist()函数计算直方图✔️ 参数修改channels[0,1] 因为我们需要同时处理 H 和 S 两个通道。bins[180,256] H通道为180S通道为256。range[0,180,0,256] H 的取值范围在0到180, S的取值范围在0到256。import numpy as npimport cv2 as cvfrom matplotlib import pyplot as pltimg cv.imread(home.jpg)hsv cv.cvtColor(img,cv.COLOR_BGR2HSV)hist cv.calcHist( [hsv], [0, 1], None, [180, 256], [0, 180, 0, 256] )plt.imshow(hist,interpolation nearest)plt.show()2D直方图直方图反射投影反向投影可以用来做图像分割寻找感兴趣区间。它会输出与输入图像大小相同的图像每一个像素值代表了输入图像上对应点属于目标对象的概率简言之输出图像中像素值越高的点越可能代表想要查找的目标。直方图投影经常与camshift(追踪算法)算法一起使用。过程首先要为包含我们感兴趣区域的图像建立直方图。被查找的对象最好是占据整个图像(图像里全是对象)最好使用颜色直方图物体的颜色信息比灰度图像更容易被分割和识别。再将颜色直方图投影到输入图像查找目标也就是找到输入图像中每一个像素点的像素值在直方图中对应的概率这样就得到一个概率图像最后设置适当的阈值对概率图像进行二值化。⛳️ Opencv函数 cv2.calcBackProject()直接实现反向投影参数与cv2.calcHist() 基本一致。其中一个参数是要查找的目标的直方图。在使用目标直方图反向投影前应该进行归一化处理。返回结果是一个概率图像然后进行圆盘形状卷积操作再二值化。import cv2import numpy as np# 想要寻找的roi图片roi cv2.imread(roi.png)hsv cv2.cvtColor(roi, cv2.COLOR_BGR2HSV)# 目标搜索图片target cv2.imread(football.png)hsvt cv2.cvtColor(target, cv2.COLOR_BGR2HSV)# 计算roi直方图roihist cv2.calcHist([hsvt], [0, 1], None, [180, 256], [0, 180, 0, 256])# 归一化参数为原图像和输出图像归一化后值全部在0到255范围# cv2.NORM_MINMAX 对数组的所有值进行转化,使它们线性映射到最小值和最大值之 间cv2.normalize(roihist, roihist, 0, 255, cv2.NORM_MINMAX)dst cv2.calcBackProject([hsvt], [0,1],roihist, [0, 180, 0, 256], 1)# 此处卷积可以把分散的点连在一起disc cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))dst cv2.filter2D(dst, -1, disc)ret, thresh cv2.threshold(dst, 50, 255, 0)#使用merge变成通道图像thresh cv2.merge((thresh,thresh,thresh))# 按位操作res cv2.bitwise_and(target, thresh)res np.hstack((target, thresh, res))cv2.imwrite(res.jpg, res)# 显示图像cv2.imshow(1, res)cv2.waitKey(0)cv2.destroyAllWindows()roi图片目标图查询结果未完待续~------------------------------------可爱の分割线------------------------------------更多Opencv教程将后续发布欢迎关注哟~❤️❤️❤️
http://www.ihoyoo.com/news/95077.html

相关文章:

  • 快速建站软件排名哪些是 joomla做的网站
  • 建设农产品网站总结ppt国外网站推广平台有哪些公司
  • asp.net网站开发工程师(c网站导航常用关键字
  • 商城网站设计公司网站备案丢失
  • 猫眼网站建设郑州网站建设冫汉狮网络
  • 网站重新备案网站工商网监标
  • 用照片做视频的模板下载网站好网站建设可以抵扣吗
  • 专业网站制作公司招聘wordpress怎么更改域名
  • 网站域名年费多少钱网站开发平均工资
  • 备案号 不放在网站首页天津网站搜索排名优化
  • 做电商网站就业岗位晋升企业营销系统和网站建设
  • 网站后台构建网站建设 技术规范书
  • 上海网站建设|网站制作wordpress删除版权
  • 成都制作网站公司哪家好自适应网站好建们
  • 山东建设厅执业资格注册中心网站小网站设计
  • 扁平设计网站临沧市住房和城乡建设局门户网站
  • 南昌做网站公司有哪些网络的最基本定义
  • 网站做导航的地图导航昆明网站建设公司猎狐科技怎么样
  • 南宁公司网站建设方案wordpress怎么导入html
  • 网站收款即时到账怎么做的wordpress 免费 主题
  • 阿里云 域名 做网站inews wordpress
  • 网站搭建后台WordPress 调整语言
  • dedeai网站最新展厅设计收费标准
  • 嘉兴路街道网站建设柳州住房和城乡建设局网站
  • 信息网站推广网站 302重定向 备案
  • 网页加速器脚本镇江seo快速排名
  • 音乐影视类网站建设企业模板
  • 网站备案哪个局管wordpress自动标签页
  • 建设项目竣工环保验收公示网站网站如何在百度上做推广方案
  • icp备案网站快速备案专家简单网站建设教学视频