基本形状的绘制&添加文字
本次用opencv在图像上绘制了线,矩形,椭圆,圆的形状和放置了文字。
#include<iostream> using namespace std; using namespace cv; void plot_line(); void plot_rectangle(); void plot_Ellipse(); void plot_circle(); void text(); Mat src; //声明一个全局变量Src int main(int argc, char ** argv) { src = imread("D:/meinv.jpg"); namedWindow("原图像",CV_WINDOW_AUTOSIZE); imshow("原图像", src); plot_line(); //画线 plot_rectangle(); //画矩形 plot_Ellipse(); //画椭圆 plot_circle(); //画圆 text(); //添加文字 namedWindow("目标图像", CV_WINDOW_AUTOSIZE); imshow("目标图像", src); waitKey(0); return 0; } void plot_rectangle() //画矩形 { Rect rect = Rect(400, 240, 200, 200); //400,240代表矩形的起点,200代表矩形的长和宽 Scalar color = Scalar(0, 0, 255); //颜色 rectangle(src, rect, color, 2, 8, 0); //调用API } void plot_line() //画线 { Point x1 = Point(20, 30); //线段第一个点的坐标 Point x2 = Point(60, 280); //线段第二个点的坐标 Scalar color = Scalar(0, 255, 0); line(src, x1, x2, color, 2, 8, 0); //调用API } void plot_Ellipse() //画椭圆 { Scalar color = Scalar(255,0, 0); ellipse(src, Point(src.cols / 2, src.rows / 2), Size(src.cols / 6, src.rows / 6), 90, 0, 360, color, 2, 8, 0); //第二个参数为椭圆的中心,第三个参数为半径 //第三个参数为椭圆的旋转角度,第四个参数为从0度画到360度的弧度 } void plot_circle() //画圆 { Scalar color = Scalar(255, 255, 0); Point center = Point(src.cols / 2, src.rows / 2); //定义圆的中心 circle(src, center, 150, color, 2, 8, 0); } void text() { Scalar color = Scalar(255, 0, 255); putText(src, "Hello OpenCv!", Point(400, 300), CV_FONT_HERSHEY_COMPLEX, 1.0, color, 2, 8); }
显示效果如下:
(1)原图:
(2)目标图像