python-opencv获取二值图像轮廓及中心点坐标

Posted 岁月神偷小拳拳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-opencv获取二值图像轮廓及中心点坐标相关的知识,希望对你有一定的参考价值。

python-opencv获取二值图像轮廓及中心点坐标代码:

groundtruth = cv2.imread(groundtruth_path)[:, :, 0]
h1, w1 = groundtruth.shape
contours, cnt = cv2.findContours(groundtruth.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
if len(contours) != 1:#轮廓总数
    continue
M = cv2.moments(contours[0])  # 计算第一条轮廓的各阶矩,字典形式
center_x = int(M["m10"] / M["m00"])
center_y = int(M["m01"] / M["m00"])
image = np.zeros([h1, w1], dtype=groundtruth.dtype)
cv2.drawContours(image, contours, 0, 255, -1)#绘制轮廓,填充
cv2.circle(image, (center_x, center_y), 7, 128, -1)#绘制中心点
cv2.imwrite("1.png", image)

以上是关于python-opencv获取二值图像轮廓及中心点坐标的主要内容,如果未能解决你的问题,请参考以下文章

python-opencv表面缺陷检测(模式识别)

python-opencv表面缺陷检测(模式识别)

python-opencv表面缺陷检测(模式识别)

python-opencv在有噪音的情况下提取图像的轮廓

python-opencv 图像二值化,自适应阈值处理

图像处理 - 计算二值图像中空白质心的算法