截取部分图像数据
import cv2
img2 = cv2.imread("E:Jupyter_workspacestudydata/cat.png")#读取照片,第二个参数若为0,则灰度图;若不填或者1则彩色图或本身图
picture = img2[0:400,0:400]#截取照片所需要的部分
cv_show('test1',picture)#通过test1窗口进行显示截取的图像
颜色通道提取
import cv2
img2 = cv2.imread("E:Jupyter_workspacestudydata/cat.png")#读取照片,第二个参数若为0,则灰度图;若不填或者1则彩色图或本身图
b,g,r = cv2.split(img2)#opencv中的三颜色通道为BGR,进行切分
b#输出看一下b为一个array二维数组
b.shape#(h,w) 由于b为一个颜色通道只显示h和w(高和宽)
img2 = cv2.merge((b,g,r))#将三颜色合并
img2.shape#(h,w,c)#(h,w,c) 合并之后,c为颜色通道为3
#只保留R
'''
[w,h,c]
0 1 2
B G R
w,h取全部,保留R的话,把其他俩通道置为0
即将0和1对应的B和G设置为0
'''
cut_img = img2.copy()
cut_img[:,:,0] = 0
cut_img[:,:,1] = 0
cv_show('R',cut_img)
#只保留G
'''
[w,h,c]
0 1 2
B G R
w,h取全部,保留R的话,把其他俩通道置为0
即将0和1对应的B和G设置为0
'''
cut_img = img2.copy()
cut_img[:,:,0] = 0
cut_img[:,:,2] = 0
cv_show('G',cut_img)
#只保留B
'''
[w,h,c]
0 1 2
B G R
w,h取全部,保留R的话,把其他俩通道置为0
即将0和1对应的B和G设置为0
'''
cut_img = img2.copy()
cut_img[:,:,1] = 0
cut_img[:,:,2] = 0
cv_show('B',cut_img)