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

看板Python作者 (RedDevil)時間7年前 (2018/03/06 10:56), 7年前編輯推噓3(301)
留言4則, 2人參與, 7年前最新討論串1/1
大家好 我是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) #顯示處理過的圖片 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.105.133.228 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1520305002.A.440.html ※ 編輯: RX480 (120.105.145.197), 03/06/2018 11:04:23

03/06 13:39, 7年前 , 1F
image_data[i][j]中的i,j不是你要的嗎@@?
03/06 13:39, 1F
對 那個應該是會跑出我要的東西 但是實際上他沒有跑出來 不知道問題出在哪裡 https://i.imgur.com/lcgTs7d.png

03/06 16:30, 7年前 , 2F
會不會是第二個迴圈if寫錯啊 i,j vs x,y
03/06 16:30, 2F
感謝您提供方向~ 剛剛測了一下那個迴圈確實有問題 稍微改了一下之後有跑出了東西 但那並不是我想要的 https://i.imgur.com/yTyPYSM.png
我所希望得到的結果是說執行完之後, 他可以告訴我白色點的座標值為多少 ex:[255,255,255]這個點的座標是在(450,450) 類似這樣的概念QQ

03/07 15:59, 7年前 , 3F
那你怎麼不print(i, j) XD
03/07 15:59, 3F

03/07 16:05, 7年前 , 4F
print(i,j)不就好了XD
03/07 16:05, 4F
對XDDDDDDDDDD 剛剛改成這樣之後就跑出來了啊哈哈哈哈哈 自己耍笨QQQ ※ 編輯: RX480 (120.105.133.228), 03/07/2018 16:11:14 另外想再問問看 如果想要把x和y儲存成兩個矩陣的話 要用甚麼語法會比較好OAO ※ 編輯: RX480 (120.105.133.228), 03/09/2018 16:42:53
文章代碼(AID): #1QdWDgH0 (Python)
文章代碼(AID): #1QdWDgH0 (Python)