python - 当我尝试读取从 cx 和 cy 获得的中心的像素颜色时,它说 index out of pound
问题描述
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)
解决方案
在 pythonopencv
中numpy
用作矩阵操作库,然后为图像索引,numpy
所以你应该调用.y
x
image[cY, cX]
推荐阅读
- pandas - Compare rows based complex conditions in pandas
- django - Django formset 显示在 1 个应用程序中,但不在另一个应用程序中
- oracle-apex - Oracle APEX 5.0:将项目值添加到动态 URL
- html - W3C 标记验证:此时元素“样式”上不允许属性“ng-transition”
- javascript - 如何使铯的可见颜色透明
- java - 替换Java中的html编码字符
- javascript - 折线图未显示单击单选按钮时的数据
- php - 如何调用类的函数从 angularjs 代码中获取 .php 文件中的数据?
- python - Ansible:如何更改 Python 版本
- c - 编译器如何处理数据类型?