[问题] 抓取指定颜色的像素座标

楼主: 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