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


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

  • 相关阅读:
    Hash 函数资源链接汇总
    Zookeeper 初体验之——伪分布式安装
    Zookeeper 初体验之——JAVA API 初探
    布隆过滤器(Bloom Filter)详解
    7天学会Maven(第一天——了解 Maven)
    仿中关村在线首页弹出式广告插件(jQuery版)
    介绍几款在线代码编辑器
    兼容浏览 firefox、chrome、ie 的flash(swf) 的代码!
    我的Discuz!X2 、Ucenter 1.6、ASP.NET 应用程序整合经历
    2011年最后一博:仿HAO123的邮箱登录
  • 原文地址:https://www.cnblogs.com/carlber/p/9614978.html
Copyright © 2020-2023  润新知