本次用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();
return ; } void plot_rectangle() //画矩形
{
Rect rect = Rect(, , , ); //400,240代表矩形的起点,200代表矩形的长和宽
Scalar color = Scalar(, , ); //颜色
rectangle(src, rect, color, , , ); //调用API
} void plot_line() //画线
{
Point x1 = Point(, ); //线段第一个点的坐标
Point x2 = Point(, ); //线段第二个点的坐标
Scalar color = Scalar(, , );
line(src, x1, x2, color, , , ); //调用API
} void plot_Ellipse() //画椭圆
{
Scalar color = Scalar(,, );
ellipse(src, Point(src.cols / , src.rows / ), Size(src.cols / , src.rows / ), , , , color, , , ); //第二个参数为椭圆的中心,第三个参数为半径
//第三个参数为椭圆的旋转角度,第四个参数为从0度画到360度的弧度
} void plot_circle() //画圆
{
Scalar color = Scalar(, , );
Point center = Point(src.cols / , src.rows / ); //定义圆的中心
circle(src, center, , color, , , );
} void text()
{
Scalar color = Scalar(, , );
putText(src, "Hello OpenCv!", Point(, ), CV_FONT_HERSHEY_COMPLEX, 1.0, color, , );
}
显示效果如下:
(1)原图:
(2)目标图像