for cnt in contours:
peri=cv2.arcLength(contours[i],True)
aprx=cv2.approxPolyDP(contours[i],0.04*peri,True)
if len (aprx) >5:
c=c+1
M = cv2.moments(cnt)
cX = int(M["m10"] / M["m00"])
cY = int(M["m01"] / M["m00"])
Areaa = cv2.contourArea(cnt)
print (image[cX,cY])
if len (aprx)==4:
squareM=cv2.moments(cnt)
SX= int(squareM["m10"] / squareM["m00"])
SY = int(squareM["m01"] / squareM["m00"])
print("hehehe",SX,SY)
i=i+1
cv2.imshow('img',image)
cv2.imshow('thresh',thresh)
最佳答案
在python中,opencv
使用numpy
作为矩阵操作库,并且在numpy
中对图像进行索引是y
然后是x
,因此您应该调用image[cY, cX]
。
关于python - 当我尝试从cx和cy读取中心的像素颜色时,它表示磅以外的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58853114/