点多边形测试
测试一个点是否在给定多边形的内部外部或者边缘。
API
根据距离画出范围图
#include<opencv2/opencv.hpp>
#include<iostream>
#include<math.h>
#include<opencv2/highgui/highgui_c.h>
using namespace std;
using namespace cv;
int main(int argc, char ** argv)
{
Mat src, gray_src, dst;
//先绘制六边形
src = Mat::zeros(Size(400, 400), CV_8UC1);
int r = 100;
vector<Point> vert(6); //存放六边形的六个点
vert[0] = Point(3 * r / 2, static_cast<int>(1.34*r));
vert[1] = Point(1 * r, 2 * r);
vert[2] = Point(3 * r / 2, static_cast<int>(2.866*r));
vert[3] = Point(5 * r / 2, static_cast<int>(2.866*r));
vert[4] = Point(3 * r, 2 * r);
vert[5] = Point(5 * r / 2, static_cast<int>(1.34*r));
for (int i = 0; i < vert.size(); i++)
{
line(src, vert[i], vert[(i + 1)% 6], Scalar(255, 255, 255), 1,LINE_AA,0);
}

该博客介绍了如何使用OpenCV进行点多边形测试,确定一个点位于给定多边形的内部、外部还是边缘。文中提到了相关API,并讨论了基于距离的范围图绘制方法。
最低0.47元/天 解锁文章
1128

被折叠的 条评论
为什么被折叠?



