首页 > 解决方案 > 当我尝试读取从 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

解决方案


在 pythonopencvnumpy用作矩阵操作库,然后为图像索引,numpy所以你应该调用.yximage[cY, cX]


推荐阅读