我是新來的openCV和Python.I想要計算每行和每列圖像的黑色像素總數。任何人都可以給出提示或幫助嗎?計算一個圖像的每行和每列黑色像素的數量
-2
A
回答
1
正如三木建議,你可以利用cv2.reduce
。
使用
numpy.where
創建包含1
其中黑色像素是,並且0
用於任何其它強度的掩模。現在調用
cv2.reduce
兩次(每個軸一次),執行REDUCE_SUM
,並將輸出數據類型設置爲32位整數。
代碼:
import cv2
import numpy as np
# Make random image
img = np.zeros((128,128),np.uint8)
cv2.randu(img, 0, 256)
mask = np.uint8(np.where(img == 0, 1, 0))
col_counts = cv2.reduce(mask, 0, cv2.REDUCE_SUM, dtype=cv2.CV_32SC1)
row_counts = cv2.reduce(mask, 1, cv2.REDUCE_SUM, dtype=cv2.CV_32SC1)
print "Column counts: ", col_counts.flatten().tolist()
print "Row counts: ", row_counts.flatten().tolist()
輸出示例:
Column counts: [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 2, 1, 1, 1, 0, 2, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, 0, 1, 1, 1, 0, 0, 2, 1, 3, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 2, 0, 1, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1]
Row counts: [0, 0, 1, 0, 0, 0, 2, 1, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 2, 0, 0, 0, 1, 1, 2, 2, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 2, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 1, 1, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 2]
1
Here你可以找到countNonZero
函數計算數組中的非零元素,在你的情況下,它將是一個行或一列。
cv2.countNonZero(src) → retval
PS:該函數將返回非黑色像素的數量,所有你所要做的就是減去這個數字從像素數(分辨率或行*的cols)。
相關問題
- 1. 計數圖像的黑色像素
- 2. 使用Python的每行黑色像素的繪圖數
- 3. 像素每像素圖像,透明變成黑色
- 4. 更改.gif圖像中每個像素的顏色數量?
- 5. OpenCV - 計算黑色像素數
- 6. 如何計算MS Access VBA中圖像的黑色像素?
- 7. 黑色像素計數
- 8. 計算圖像每個角的座標
- 9. Matlab圖像 - 如何計算白色像素的數量
- 10. 如何計算opencv中每個blob中的白色像素?
- 11. 統計圖像中每行的像素數
- 12. Get和從HWND(8,4,1位每像素 - 黑色圖像)保存位圖
- 13. 獲取灰度或黑白圖像的每個像素的像素值?
- 14. OpenCV:如何填充每個像素的每個RGB顏色值的RGB圖像?
- 15. 從黑色和白色1D陣列像素創建圖像
- 16. iPhone:如何獲取圖像的每個像素的顏色?
- 17. 如何獲取圖像中每個像素的強度。我想計算圖像中更高強度的像素
- 18. 在DirectX 9中,每個繪圖調用每像素可以運行多於一次的像素着色器?
- 19. 讀取每個像素的PVRTC圖像顏色信息
- 20. iOS:從圖像的每個像素獲取頂部顏色
- 21. 從圖像中的每個像素獲取色相
- 22. Python - 將位圖圖像轉換爲每個像素的顏色列表
- 23. 計算圖片中藍色像素的數量
- 24. 一個程序來計算圖片中的像素數量?
- 25. JS生成一個圖像中的每個像素的RGB
- 26. 計算圖像中每行的字節數
- 27. 閾值方法是將每個像素變成黑色
- 28. 計算每個變量的數量,其中每個變量= 1
- 29. Qt繪製一個藍色的像素,如果原始像素是在一個新的圖像黑色
- 30. 填充一個ArrayList與圖像的每個像素
你有什麼已經嘗試過? – Mazz
提示:使用「減少」 – Miki