#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
Mat src, dst;
void MyLines();
void MyRectangle();
void MyCircle();
void RandomLineDemo();
int main(int argc, char** argv) {
src = imread("C:/Users/AA/Desktop/myc++/1.jpg");
if (src.empty()) {
printf("图片加载失败");
}
MyLines();
MyRectangle();
MyCircle();
//imshow("out", src);
//waitKey(0);
RandomLineDemo();
return 0;
}
void MyLines() {
//图像上连接两个点
Point p1 = Point(5, 5);
Point p2;
p2.x = 200;
p2.y = 250;
Scalar color = Scalar(0, 0, 255);
line(src, p1, p2, color, 3, 8);
}
void MyRectangle() {
//图像上画框
Rect rect = Rect(10, 10, 70, 80);
Scalar color(255, 255, 0);
rectangle(src, rect, color, 2, 8);
//添加 文字
putText(src, "www", Point(200, 200), FONT_HERSHEY_COMPLEX, 1.0, Scalar(255, 255, 255), 1);
}
void MyCircle() {
//图像上画园
Scalar color = Scalar(255, 255, 255);
circle(src, Point(200, 200), 100, color, 2, 8);
}
void RandomLineDemo() {
//随机画线
RNG rng(10000);
Point p1;
Point p2;
dst = Mat::zeros(src.size(), src.type());
for (int i = 0; i < 1000; i++) {
p1.x = rng.uniform(0, dst.cols);
p2.x = rng.uniform(0, dst.cols);
p1.y = rng.uniform(0, dst.rows);
p2.y = rng.uniform(0,dst.rows);
Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
if (waitKey(50) > 0) {
break;
}
line(dst, p1, p2, color, 1, 8);
imshow("rr", dst);
}
}
绘制几何形状 OPENCV C+ 3
最新推荐文章于 2022-11-12 10:30:42 发布