像素是圖像構成的基本單位,像素處理是圖像處理的基本操作,像素值在python中以數組的方式存在,所有我們要使用Numpy庫進行像素的輔助操作。
- 首先我們用Numpy生成一個三維數組,觀察彩色圖三通道值的變化
import numpy as np
import cv2
img=np.zeros((300,300,3),dtype=np.uint8)
img[:,0:100,0]=255
img[:,100:200,1]=255
img[:,200:300,2]=255
print("img=/n",img)
cv2.imshow("img",img)
cv2.waitKey()
cv2.destroyAllWindows()
在這裏,我們通過操作數組顯示出三種通道的純色。
2.生產一張灰度噪點圖
import numpy as np
import cv2
img=np.random.randint(0,256,size=[400,400],dtype=np.uint8)
cv2.imshow("demo",img)
cv2.waitKey()
cv2.destroyAllWindows()
通過random的randint函數生產0到255隨機數,建立一個二維數組(無三通道爲灰度圖),產生亮度不同的像素點。
3.通過數組實現圖像通道的拆分
import numpy as np
import cv2
import matplotlib.pyplot as plt
img1=cv2.imread('d:/jm.jpg')
img1[:,:,0]=0
img1[:,:,1]=0
img2=cv2.imread('d:/jm.jpg')
img2[:,:,1]=0
img2[:,:,2]=0
img3=cv2.imread('d:/jm.jpg')
img3[:,:,0]=0
img3[:,:,2]=0
plt.subplot(1, 3,1), plt.imshow(img1, 'gray')
plt.subplot(1, 3,2), plt.imshow(img2, 'gray')
plt.subplot(1, 3,3), plt.imshow(img3, 'gray')
plt.show()
和一同理