[問題] 抓取指定顏色的像素座標

作者: RX480 (RedDevil)   2018-03-06 10:56:39
大家好
我是python新手
使用的python版本號是3.6
openCV版本為2.0
最近在使用上遇到了一個問題
我想利用OpenCV輸入照片之後
然後將顏色二值化
接著找出白色的顏色的像素座標位置
目前的狀況是可以把顏色調整成需要的狀況了
但是不知道要如何抓出白色部分的像素座標
這邊附上程式碼求解
謝謝大家
=========================================
image = cv2.imread("5.png")
image_data = np.asarray(image)
row,col,channels = image.shape
B = image[:, :, 0]
G = image[:, :, 1]
R = image[:, :, 2]
for y in range(row):
for x in range(col):
if image[y,x,0]<=160 and image[y,x,1]<=170 and image[y,x,2]>=200:
image.itemset((y,x,0),255)
image.itemset((y,x,1),255)
image.itemset((y,x,2),255)
else:
image.itemset((y,x,0),0)
image.itemset((y,x,1),0)
image.itemset((y,x,2),0)
#到這邊是將指定的像素顏色二值化
for i in range(row):
for j in range(col):
if image[y,x,0]==255 and image[y,x,1]==255 and image[y,x,2]==255:
print(image_data[i][j])
#到這邊是希望抓出白色的座標位置
cv2.namedWindow('after', cv2.WINDOW_NORMAL)
cv2.imshow('after',image)
#顯示處理過的圖片
作者: goldflower (金色小黃花)   2018-03-06 13:39:00
image_data[i][j]中的i,j不是你要的嗎@@?會不會是第二個迴圈if寫錯啊 i,j vs x,y
作者: neil987 (R5大小姐-EX人品崩壞)   2018-03-07 16:05:00
print(i,j)不就好了XD

Links booklink

Contact Us: admin [ a t ] ucptt.com