点多边形测试
测试一个点是否在给定多边形的内部外部或者边缘。
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