python+Opencvによる画像処理4(色チャンネル変更)
色チャンネルを触ってみる。
解像度を揃えたブランクをnumpyで作成し、 分割した色空間を入れ替えて流し込む。
BlueをRedに、GreenをBlueに、 RedをGreenに入れ替え。
import cv2 import numpy as np def color_change(im): if im.ndim == 2: pass else : hight = im.shape[0] width = im.shape[1] dim = im.shape[2] # サイズ同一かつ空の画像空間作成 color_change_im =np.zeros((hight,width,dim),np.uint8) BGRim = cv2.split(im) color_change_im[:,:,0]=BGRim[2] color_change_im[:,:,1]=BGRim[0] color_change_im[:,:,2]=BGRim[1] cv2.imshow("color_change",color_change_im) cv2.waitKey(0) cv2.destroyAllWindows() if __name__ == '__main__': im = cv2.imread("lena.jpg") if not (im == None): color_change(im)
参考 http://stackoverflow.com/questions/12881926/create-a-new-rgb-opencv-image-using-python