猿问

用opencv计算质心

我有多个圆圈的图像,圆圈内有热点区域,具有高强度(高像素值)和具有冷点(低像素值)的区域。我想用 Python 中的 OpenCV 计算每个圆的加权质心。我正在使用这段代码:


im2, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

for c in contours:

     # calculate moments for each contour

     M = cv2.moments(c)


     # calculate x,y coordinate of center

     if M["m00"] != 0:

         cX = int(M["m10"] / M["m00"])

         cY = int(M["m01"] / M["m00"])

      else:

         cX, cY = 0, 0

好的,所以这段代码只是简单地获取二进制图像,提取所有圆并找到每个圆的轮廓。


问题是我需要找到 RGB/灰度图像(考虑像素强度)而不是二值图像的加权质心。我怎样才能做到这一点?


慕丝7291255
浏览 671回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答