參考資訊:
https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
main.cpp
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char **argv)
{
vector<Point> pt;
Mat img(250, 250, CV_8UC3);
pt.push_back(Point(50, 50));
pt.push_back(Point(70, 220));
pt.push_back(Point(210, 30));
pt.push_back(Point(200, 220));
vector<int> hull;
convexHull(Mat(pt), hull, true);
img = Scalar::all(0);
for (int i = 0; i < 4; i++) {
circle(img, pt[i], 3, Scalar(0, 0, 255), FILLED, LINE_AA);
}
int hullcount = (int)hull.size();
Point pt0 = pt[hull[hullcount - 1]];
for (int i = 0; i < hullcount; i++) {
Point p = pt[hull[i]];
line(img, pt0, p, Scalar(0, 255, 0), 1, LINE_AA);
pt0 = p;
}
imshow("hull", img);
waitKey();
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(main)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(main main.cpp)
target_link_libraries(main ${OpenCV_LIBS})
編譯、執行
$ cmake . $ make $ ./main
完成