[cpp]
view plain
copy
print
?
#include<iostream> #include<opencv2/opencv.hpp> #include<vector> using namespace cv; using namespace std; int main() { Mat srcImage(Size(600, 600), CV_8UC3, Scalar(0)); Mat saveImage; srcImage.copyTo(saveImage); RNG &rng = theRNG(); char key; Point midPoint; vector<int> hull; while (1) { vector<Point> points; int count = (unsigned int)rng % 100 + 3; for (int i = 0; i < count; i++) { midPoint.x = rng.uniform(srcImage.cols / 4, srcImage.cols * 3 / 4); midPoint.y = rng.uniform(srcImage.rows / 4, srcImage.rows * 3 / 4); points.push_back(midPoint); } convexHull(Mat(points), hull, true); for (int i = 0; i < points.size(); i++) { circle(srcImage, points[i], 0, Scalar(255, 255, 0), 3, 8); } Point point0 = points[hull[hull.size() - 1]]; for (int i = 0; i < hull.size(); i++) { Point curPoint = points[hull[i]]; line(srcImage, point0, curPoint, Scalar(255, 255, 0), 3, 8); point0 = curPoint; } imshow("【显示窗口】", srcImage); key = waitKey(); if (key == 27) break; else srcImage = Scalar(0); } return 0; }
按下空格键进行切换
转载请注明原文地址: https://ju.6miu.com/read-1312778.html