1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
   | import  cv2 import numpy as np   #用np代替引入的numpy from matplotlib import pyplot as plt img=cv2.imread('D:/Camera Roll/aling.jpg')
  b,g,r=cv2.split(img)   #进行通道分离 pic=np.zeros(np.shape(img),np.uint8)  #生成零矩阵 pic[:,:,0]=b cv2.namedWindow('blue') cv2.imshow('blue',pic) cv2.waitKey(0)
  pic=np.zeros(np.shape(img),np.uint8) pic[:,:,1]=g cv2.namedWindow('green') cv2.imshow('green',pic) cv2.waitKey(0)
  pic=np.zeros(np.shape(img),np.uint8) pic[:,:,2]=r cv2.namedWindows('red') cv2.imshow('red',pic) cv2.waitKey(0)
  color=("blue","green","red") for i,color in enumerate(color):      #用于遍历序列中的下标和元素     hist=cv2.calcHist([img],[i],None,[256],[0,256])     #建立直方图([图像],[通道],掩膜:一般不需要,设为None,[256],[0,256])     plt.plot(hist,color=color)     plt.xlim([0,256])  plt.show()
  img=cv2.imread('D:/Camera Roll/aling.jpg',0)   #读取图片为灰度图 cv2.namedWindow('gray') cv2.imshow('gray',img) cv2.waitKey(0)
  plt.hist(img.ravel(),256,[0,256]) plt.show() cv2.destoryAllWindows()
   |