基於python的opencv像素處理(Numpy庫的使用)

像素是圖像構成的基本單位,像素處理是圖像處理的基本操作,像素值在python中以數組的方式存在,所有我們要使用Numpy庫進行像素的輔助操作。

  1. 首先我們用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()

在這裏插入圖片描述
和一同理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章