OpenCV draw()
来源:互联网 发布:软件测试机构 编辑:程序博客网 时间:2024/06/06 09:08
OpenCV draw()
#include<opencv2\opencv.hpp>//#include<opencv2\imgproc.hpp>//#include<opencv2\highgui.hpp>#include<iostream>using namespace cv;using namespace std;int WINDOW_WIDTH = 600;void drawEllipse(Mat img, double angle) { int thickness = 2, lineType = 8; ellipse(img, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2), Size(WINDOW_WIDTH / 4, WINDOW_WIDTH / 16), angle, 0, 360, Scalar(255, 129, 0), thickness, lineType);}void drawfilledCircle(Mat img, Point center) { int thickness = -1, lineType = 8; circle(img, center, WINDOW_WIDTH / 32, Scalar(0, 0, 255), thickness, lineType);}void drawPolygon(Mat img) { int lineType = 8; Point rookPoints[1][20]; rookPoints[0][0] = Point(WINDOW_WIDTH / 4, 7 * WINDOW_WIDTH / 8); rookPoints[0][1] = Point(3 * WINDOW_WIDTH / 4, 7 * WINDOW_WIDTH / 8); rookPoints[0][2] = Point(3 * WINDOW_WIDTH / 4, 13 * WINDOW_WIDTH / 16); rookPoints[0][3] = Point(11 * WINDOW_WIDTH / 16, 13 * WINDOW_WIDTH / 16); rookPoints[0][4] = Point(19 * WINDOW_WIDTH / 32, 3 * WINDOW_WIDTH / 8); rookPoints[0][5] = Point(3 * WINDOW_WIDTH / 4, 3 * WINDOW_WIDTH / 8); rookPoints[0][6] = Point(3 * WINDOW_WIDTH / 4, WINDOW_WIDTH / 8); rookPoints[0][7] = Point(26 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 8); rookPoints[0][8] = Point(26 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 4); rookPoints[0][9] = Point(22 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 4); rookPoints[0][10] = Point(22 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 8); rookPoints[0][11] = Point(18 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 8); rookPoints[0][12] = Point(18 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 4); rookPoints[0][13] = Point(14 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 4); rookPoints[0][14] = Point(14 * WINDOW_WIDTH / 40, WINDOW_WIDTH / 8); rookPoints[0][15] = Point(WINDOW_WIDTH / 4, WINDOW_WIDTH / 8); rookPoints[0][16] = Point(WINDOW_WIDTH / 4, 3 * WINDOW_WIDTH / 8); rookPoints[0][17] = Point(13 * WINDOW_WIDTH / 32, 3 * WINDOW_WIDTH / 8); rookPoints[0][18] = Point(5 * WINDOW_WIDTH / 16, 13 * WINDOW_WIDTH / 16); rookPoints[0][19] = Point(WINDOW_WIDTH / 4, 13 * WINDOW_WIDTH / 16); const Point* ppt[1] = { rookPoints[0] }; int npt[] = { 20 }; fillPoly(img, ppt, npt, 1, Scalar(255, 255, 255), lineType);}void drawLine(Mat img, Point start, Point end) { int thickness = 2; int lineType = 8; line(img, start, end, Scalar(0, 0, 0), thickness, lineType);}int main() { Mat img = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3); Mat img2 = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3); drawEllipse(img, 90.0); drawEllipse(img, 45.0); drawfilledCircle(img, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2)); drawPolygon(img2); rectangle(img2, Point(0, 7 * WINDOW_WIDTH / 8), Point(WINDOW_WIDTH, WINDOW_WIDTH), Scalar(0, 255, 255), -1, 8); drawLine(img2, Point(0, 15 * WINDOW_WIDTH / 16), Point(WINDOW_WIDTH, 15 * WINDOW_WIDTH / 16)); drawLine(img2, Point(WINDOW_WIDTH / 4, 7 * WINDOW_WIDTH / 8), Point(WINDOW_WIDTH / 4, WINDOW_WIDTH)); drawLine(img2, Point(WINDOW_WIDTH / 2, 7 * WINDOW_WIDTH / 8), Point(WINDOW_WIDTH / 2, WINDOW_WIDTH)); drawLine(img2, Point(3 * WINDOW_WIDTH / 4, 7 * WINDOW_WIDTH / 8), Point(3 * WINDOW_WIDTH / 4, WINDOW_WIDTH)); imshow("1", img); imshow("2", img2); waitKey(0); return 0;}
0 0
- OpenCV draw()
- Opencv draw ROI rect
- Draw
- Draw
- Draw
- DRAW
- OpenCV怎么画箭头(How to draw an arrow)
- OpenCV怎么画箭头(How to draw an arrow)
- how to draw Opencv face detection Adaboost ROC/PR (绘制方法)
- how to draw Opencv face detection Adaboost ROC/PR (绘制方法)
- OWNER DRAW / CUSTUM DRAW
- Custom Draw
- Lucky draw
- owner draw
- Draw Line
- Draw Line
- 绘图Draw
- WebView Draw
- 代数笔记-第一章-矩阵
- MIT线性代数公开课
- ORACLE审计小结
- GitHub基础学习-在GitHub中删除一个已有仓库
- mysql装完电脑里面没mysql相关服务
- OpenCV draw()
- String、StringBuffer和StringBuilder的区别?
- swift App版本更新
- JSP九大内置对象、四种作用域、跳转方式
- ROS学习笔记一
- servlet3.1规范: 第11章 应用生命周期事件(Listener)
- poj 1847 Tram (最短路)
- 微信小程序的开发:通过微信小程序看前端
- 命令获取 Eclipse Android 证书指纹 MD5、SHA1