python opencv学习(二)

1.分离通道:

方法一:

#coding=utf-8

import cv2
import numpy as np

img = cv2.imread('./yy.jpg')
print img.shape  #(691, 500, 3)
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]
print b.shape  #(691, 500)
print g.shape   #(691, 500)
print r.shape  #(691, 500)

cv2.imshow("Blue", r)
cv2.imshow("Red", g)
cv2.imshow("Green", b)
cv2.waitKey(0)
cv2.destroyAllWindows()

方法二:

import cv2
import numpy as np

img = cv2.imread('./yy.jpg')
b, g, r = cv2.split(img)
print b.shape,g.shape,r.shape  #(691, 500) (691, 500) (691, 500)
cv2.imshow("Blue", r)
cv2.imshow("Red", g)
cv2.imshow("Green", b)
cv2.waitKey(0)
cv2.destroyAllWindows()  #b = cv2.split(img)[0]  ,g = cv2.split(img)[1]  ,r = cv2.split(img)[2]  

2.合并通道

merged = cv2.merge([b,g,r]) #前面分离出来的三个通道
print merged.shape #(691, 500, 3)

猜你喜欢

转载自blog.csdn.net/nanxiaoting/article/details/80634248