基本形状的绘制&添加文字

Posted carlber

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本形状的绘制&添加文字相关的知识,希望对你有一定的参考价值。

本次用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)目标图像

技术分享图片

以上是关于基本形状的绘制&添加文字的主要内容,如果未能解决你的问题,请参考以下文章

C++ OpenGL,绘制形状返回错误

OpenCV 绘制形状与文字

OpenCV 绘制形状与文字

怎样使用Office Visio绘制流程图

使用processon工具,怎样在线上写字

pdf文档,小手形状的,现在移动到文字就变成了竖形针,怎么办