opencv轮廓检测——等距曲线

 时间:2026-02-14 02:52:36

1、使用下图,图中有三个没有空洞的物体,因此可以检测出三个轮廓。

import cv2

import numpy as np

img = cv2.imread('0.png')

a=img*1

u,v,_=img.shape

img0=cv2.cvtColor(255-img,cv2.COLOR_BGR2GRAY)

_, t = cv2.threshold(img0, 0, 255, cv2.THRESH_BINARY)

_, c, _ = cv2.findContours(t, 3, 2)

opencv轮廓检测——等距曲线

2、我们选择第一个物体的轮廓线,看看(50,50)这个点到轮廓线的距离:

cnt=c[0]

d = cv2.pointPolygonTest(cnt,(50,50),True)

opencv轮廓检测——等距曲线

3、到第一个物体的轮廓线,距离为6的曲线,有内外两条:

for i in range(v):

    for j in range(u):

        d = cv2.pointPolygonTest(cnt,(i,j),True)

        if int(abs(d))==6:

            cv2.circle(img,(i,j),1,(0,255,0),-1)

opencv轮廓检测——等距曲线

4、距离为60的等距曲线只有一条:

for i in range(v):

    for j in range(u):

        d = cv2.pointPolygonTest(cnt,(i,j),True)

        if int(abs(d))==60:

            cv2.circle(img,(i,j),1,(0,255,0),-1)

opencv轮廓检测——等距曲线

5、对图片上面的每一个点,按照到轮廓线的距离进行着色。

opencv轮廓检测——等距曲线

opencv轮廓检测——等距曲线

opencv轮廓检测——等距曲线

  • 阿胶怎么吃才有效
  • 车/铣加工球笼用什么刀具精度高?
  • 冷暖无叶风扇的技术原理与选购手册
  • 宝宝挫伤怎么办
  • windows 7中IIS启用父路径
  • 热门搜索
    哈尔滨旅游景点大全 三门峡旅游景点大全 海南旅游网 河南旅游年票 镇江旅游攻略 旅游网页 抚州旅游 贵阳旅游景点大全 内蒙古旅游网 上海都市旅游卡