python3中訪問像素點和設置像素點


python3:

訪問單個像素:  

s = image[i, j]  #image是一個Mat類型的矩陣,image[i,j]返回的是一個元組

s是一個元組,包含像[i, j]的各通道分量的灰度值,可以通過下標來訪問該元組的元素,如s[0]表示b顏色分量,對於灰度圖像,直接表示該像素點的灰度值

上條語句也可以寫成:

(b, g, r) = image[i, j]

 

設置單個像素點的值:

1 image[i, j] = (b, g, r)  #設置像素點[i, j]的的值
2 #也可以寫成
3 s = (b, g, r)   #把(b, g, r)的值先賦值給元組s
4 image[i, j] = s
5                                   

 

獲取圖像中某一區域的所有像素:

1 newImage = image[i:j, m:n]  #python中的切片,返回的是指定大小的圖像
2 #設置圖像中某一區域內的像素的值
3 image[i:j, m:n] = (b, g, r)

 

還可以通過Numpy的函數(比上面方法快):array.item()和array.itemset()來訪問

1 src.item(x, y, channel)   #訪問像素(x, y)的某個通道的值
2 src.itemset((x, y, channel), value) #設置像素(x, y)的某個通道的值

 

通過img.shape這個屬性,我們可以得到一個記錄了圖像行數、列數和通道數的元組(灰度圖像則只返回行列數,通過這個可以區分圖像是彩色的還是灰度的)。

像素點的數量可以通過img.size這個函數獲得,圖像的數據類型可以通過img.dtype來獲得

1 #獲取像素的屬性, 其返回值是一個元組(height, weight, channels)
2 src.shape 
3 #獲取像素某個指定屬性
4 src.shape[number]  #number的取值為元組的下標,可取0,1,2
5 #獲取圖像像素點的數量
6 src.size
7 #獲取圖像的類型
8 src.dtype

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM