opencv中的approxPolyDP函数和boundingRect函数
【摘要】
opencv中的approxPolyDP函数和boundingRect函数说明
cv2.boundingRect
举例:
import numpy as np image=cv2.imread("123.jpg") int_point=[] for i in range(4): int_point.ap...
opencv中的approxPolyDP函数和boundingRect函数说明
cv2.boundingRect
举例:
-
import numpy as np
-
-
image=cv2.imread("123.jpg")
-
-
int_point=[]
-
-
for i in range(4):
-
-
int_point.append([i*100,i*50])
-
-
-
x, y, w, h = cv2.boundingRect(np.array(int_point))
-
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
-
cv2.imshow("img",image)
-
cv2.waitKey()
approxPolyDP 多边形近似
opencv中利用函数approxPolyDP来对指定的点集进行逼近,其逼近的精度是可设置的
OutputArray approxCurve:输出的点集,当前点集是能最小包容指定点集的。draw出来即是一个多边形;
double epsilon:指定的精度,也即是原始曲线与近似曲线之间的最大距离。
bool closed:若为true,则说明近似曲线是闭合的,它的首位都是相连,反之,若为false,则断开。
该函数采用是Douglas-Peucker算法来实现。code说明:http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm
code源码:https://github.com/Itseez/opencv/tree/master/samples/cpp/contours2.cpp
opencv中利用函数boundingRect来对指定的点集进行包含,使得形成一个最合适的正向矩形框把当前指定的点集都框住
对应的函数为:
void approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed);
InputArray curve:输入的点集
OutputArray approxCurve:输出的点集,当前点集是能最小包容指定点集的。draw出来即是一个多边形;
double epsilon:指定的精度,也即是原始曲线与近似曲线之间的最大距离。
bool closed:若为true,则说明近似曲线是闭合的,它的首位都是相连,反之,若为false,则断开。
该函数采用是Douglas-Peucker算法来实现。code说明:http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm
code源码:https://github.com/Itseez/opencv/tree/master/samples/cpp/contours2.cpp
opencv中利用函数boundingRect来对指定的点集进行包含,使得形成一个最合适的正向矩形框把当前指定的点集都框住
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/76164109
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)