来宾城乡建设局网站,网站个人微信收款方案,织梦欧美网站模板,咔咔做受视频网站【1】引言
前序已经对BGR图像和HSV图像的转换进行了基本讨论#xff0c;相关文章链接为#xff1a;
python学opencv|读取图像#xff08;十二#xff09;BGR图像转HSV图像-CSDN博客
python学opencv|读取图像#xff08;十三#xff09;BGR图像和HSV图像互相转换深入-C…【1】引言
前序已经对BGR图像和HSV图像的转换进行了基本讨论相关文章链接为
python学opencv|读取图像十二BGR图像转HSV图像-CSDN博客
python学opencv|读取图像十三BGR图像和HSV图像互相转换深入-CSDN博客
在前序学习进程中我们也了解BGR彩色图像 存在三个通道来管理三种基色的组成比例此外HSV图像也存在三个参数来管理图像亮度饱和度等。相关文章链接有
python学opencv|读取图像六读取图像像素RGB值_opencv读取灰度图-CSDN博客
在此基础上我们尝试抓取各个通道的具体数值。
带着这个目标我们开启本次学习。
【2】官网教程
要想抓取各个通道的具体数值需要使用split()函数点击下述链接可以直达官网教程
OpenCV: Channel split 未进行实际测试我们开始编辑代码。
【3】代码测试
【3.1】读取图像
首先是完成图片的读取可写入的基础代码为
import cv2 as cv #引入CV模块
import numpy as np #引入numpy模块bgr_imagecv.imread(cv-ini-000.png)if bgr_image is not None:cv.imshow(cv-ini-000,bgr_image) #在屏幕上展示图片cv.imwrite(cv-ini-000-save.png,bgr_image) #保存图片cv.waitKey() #不会自动关闭图像cv.destroyAllWindows() #释放所有窗口
else:print(There is no any photo)
在这里使用的原始图像cv-ini.png为 图1 cv-ini.png
【3.2】BGR拆分
然后先进行BGR拆分以读取数据可以直接新增下述代码 b,g,rcv.split(bgr_image) #bgr拆分
cv.imshow(B,b) #显示B通道
cv.imshow(G,g) #显示G通道
cv.imshow(R,r) #显示R通道cv.imwrite(cv-ini-000-save-b.png,b) #保存B通道图片
cv.imwrite(cv-ini-000-save-g.png,g) #保存G通道图片
cv.imwrite(cv-ini-000-save-r.png,r) #保存R通道图片 运行后获得BGR通道的照片为 图2 B通道图像 图3 G通道图像 图4 R通道图像
【3.3】HSV拆分
然后先进行HSV拆分可以直接新增下述代码。
代码包括两大模块第一模块将BGR图像转化为HSV图像第二模块才是对HSV图像进行通道拆分以进行数据读取。 # BGR转HSVhsv_imagecv.cvtColor(bgr_image,cv.COLOR_BGR2HSV) #BGR转HSVcv.imshow(cv-ini-000-hsv,hsv_image) #在屏幕上展示图片cv.imwrite(cv-ini-000-save-hsv.png,hsv_image) #保存图片# HSV拆分h,s,vcv.split(hsv_image) #HSV拆分cv.imshow(H,h) #显示H通道cv.imshow(S,s) #显示S通道cv.imshow(V,v) #显示V通道# 保存cv.imwrite(cv-ini-000-save-h.png,h) #保存H通道图片cv.imwrite(cv-ini-000-save-s.png,s) #保存S通道图片cv.imwrite(cv-ini-000-save-v.png,v) #保存V通道图片
运行代码后获得的HSV格式图像为 图5 HSV格式图像
获得的H、S和V通道照片为 图6 H通道图像 图7 S通道图像 图8 V通道图像 【4】总结
掌握了BGR和HSV图像各通道数据抓取函数cv2.split()的基本使用方法。