vim+python+OpenCV学习四 : 像素通道分割
来源:互联网 发布:ecshop大京东2.5源码 编辑:程序博客网 时间:2024/05/01 16:30
#-*-coding=UTF-8-*-
#使用OpenCV自带的split函数,输出为黑白图像
import cv2
import numpy as np
img=cv2.imread("E:\\testpictures\\meizi4.jpg")
'''
下面一句话可以这样
b = cv2.split(img)[0]
g = cv2.split(img)[1]
r = cv2.split(img)[2]
'''
b,g,r=cv2.split(img)
cv2.imshow("Blue",r)
cv2.imshow("Red",g)
cv2.imshow("Green",b)
cv2.waitKey(0)
cv2.destroyAllWindows()
#第二:用numpy数组来实现:
#-*-coding=UTF-8-*-#直接操作NumPy数组来达到这一目的import cv2import numpyimport numpy as npimg=cv2.imread("E:\\testpictures\\meizi9.jpg")b=np.zeros((img.shape[0],img.shape[1]),dtype=img.dtype)g=np.zeros((img.shape[0],img.shape[1]),dtype=img.dtype)r=np.zeros((img.shape[0],img.shape[1]),dtype=img.dtype)b[:,:]=img[:,:,0]g[:,:]=img[:,:,1]r[:,:]=img[:,:,2]cv2.imshow("Blue",r)cv2.imshow("Red",g)cv2.imshow("Green",b)cv2.waitKey(0)cv2.destroyAllWindows()
从上面的图可以看出,颜色通道的分离能让有些条纹变得非常清晰有助于处理。
一下合并各通道:
#-*-coding=UTF-8-*-#合并三个通道的图像'''注意:这里只是演示,实际使用时请用OpenCV自带的merge函数!用NumPy组合的结果不能在OpenCV中其他函数使用,因为其组合方式与OpenCV自带的不一样.'''import cv2import numpy as npimg=cv2.imread("E:\\testpictures\\meizi9.jpg")b=np.zeros((img.shape[0],img.shape[1]),dtype=img.dtype)g=np.zeros((img.shape[0],img.shape[1]),dtype=img.dtype)r=np.zeros((img.shape[0],img.shape[1]),dtype=img.dtype)b[:,:]=img[:,:,0]g[:,:]=img[:,:,1]r[:,:]=img[:,:,2]#用opencv自带的merge函数merged=cv2.merge([b,g,r])print "Merge by OpenCV"print merged.stridesprint mergedmergedByNp=np.dstack([b,g,r])print "Merge by Numpy"print mergedByNp.stridesprint mergedByNpcv2.imshow("Merged",merged)cv2.imshow("MergedByNp",mergedByNp)cv2.imshow("Blue",r)cv2.imshow("Red",g)cv2.imshow("Green",b)cv2.waitKey(0)cv2.destroyAllWindows()
0 0
- vim+python+OpenCV学习四 : 像素通道分割
- vim+python+OpenCV学习三 : 对图像的像素处理
- OpenCV学习——图像通道的GRB分割混合
- opencv学习笔记 split(图像分割为3通道)
- opencv split图像通道分割
- OpenCV学习笔记_图像转换cvCvtColor、通道分割cvSplit以及通道合并cvMerge
- python OpenCV 图像通道分离和合并 (四)
- python OpenCV 图像通道分离和合并 (四)
- 6-python图像处理opencv(2.图像像素访问,通道分离与合并)
- opencv访问图片单个像素和通道
- 像素临近区域、颜色通道、ROI区域的访问---opencv.2学习笔记2
- opencv学习(5)图像像素的访问、颜色通道的分离和融合
- OpenCV学习笔记(二十一)---三通道和四通道之间的区别
- OpenCV python 学习笔记(四)
- OpenCV学习篇之四 存取像素值
- opencv学习(四)之像素遍历三种方式
- openCV学习笔记(四):图像遍历和像素操作
- opencv我的单通道阈值分割
- 如何定位和解决Andorid的内存溢出问题(大总结)
- 笔记:SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <1MB model size
- 线程池原理
- 《一个勺子》观后感
- OpenCV实践之路——画出时钟并动态同步系统时间
- vim+python+OpenCV学习四 : 像素通道分割
- Pots(bfs恶心的宽搜)
- HDU 4803 Poor Warehouse Keeper(贪心)
- Create blog posts from RStudio to WordPress
- ifconfig配置网络时,出现“SIOCSIFADDR: No such device”和“eth0:ERROR while getting interface flags:No such dev”
- ajax原理和XmlHttpRequest对象
- 准备1千万个随机数字,保存到文件并顺序读取
- 数组溢出与指针问题
- 从两段代码中理解JavaScript的单线程和异步