导读
本文主要介绍使用OpenCV计算两条曲线之间的最小距离。
实现目标
【计算两条曲线之间的最小距离】
测试图像:
动态效果演示:
实现步骤与代码
实现步骤:
① 分别找到两条曲线的轮廓;
② 计算每条曲线轮廓点与另一条轮廓上点的距离;
③ 记录距离最小值与对应最小值时的点坐标;
④ 绘制结果。
代码实现与演示:
# -*- coding: cp936 -*-
import numpy as np
import math
import cv2
def cal_pt_distance(pt1, pt2):
dist = math.sqrt(pow(pt1[0]-pt2[0],2) + pow(pt1[1]-pt2[1],2))
return dist
font = cv2.FONT_HERSHEY_SIMPLEX
img = cv2.imread('test.jpg')
cv2.imshow('src',img)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray, (3,3), 0)
ret,thresh = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)
contours,hierarchy = cv2.findC
|