linux下调用opencv接口函数在指定图片上面画几何图形

#include <stdio.h>
#include <opencv2/highgui/highgui.hpp>


int main(int argc,char* argv[])
{
/* 创建一个空图 */  
    CvSize size = cvSize(400, 400);  
    IplImage * testImage = cvCreateImage(size, IPL_DEPTH_8U, 3);  


    for(int y = 0; y < testImage->height; y++){  
        unsigned char * Pout = (unsigned char *)(testImage->imageData + y * testImage->widthStep);  
        for(int x = 0; x < testImage->width; x++){  
            Pout[3 * x + 0] = 200;  
            Pout[3 * x + 1] = 200;  
            Pout[3 * x + 2] = 200;  
        }  
    }
    /* 创建画图的相关参数 */  
    CvPoint** point1 = new CvPoint* [2];  
    point1[0] = new CvPoint[3];  
    point1[1] = new CvPoint[4];  
    point1[0][0] = cvPoint(200, 40); /* 三角形的点的相关信息 */  
    point1[0][1] = cvPoint(150, 80);   
    point1[0][2] = cvPoint(250, 80);   
    point1[1][0] = cvPoint(150, 100); /* 正方形的相关信息 */  
    point1[1][1] = cvPoint(250, 100);   
    point1[1][2] = cvPoint(250, 200);   
    point1[1][3] = cvPoint(150, 200);  
    int npts[2] = {3, 4};/* 三角形有三个有效点正方形有四个有效点 */  
    CvScalar color = cvScalar(200, 100, 250);/* 颜色参数 */  
    cvFillPoly(testImage, point1, npts, 2, color);  
      
  
        CvPoint** point2 = new CvPoint* [2];  
    point2[0] = new CvPoint[3];  
    point2[1] = new CvPoint[4];  
    point2[0][0] = cvPoint(100, 40);   
    point2[0][1] = cvPoint(50, 80);   
    point2[0][2] = cvPoint(150, 80);   
    point2[1][0] = cvPoint(50, 100);   
    point2[1][1] = cvPoint(150, 100);   
    point2[1][2] = cvPoint(150, 200); /* 参数的相关含义如上 */  
    point2[1][3] = cvPoint(50, 200);  
    cvPolyLine(testImage, point2, npts, 2, 1, color);/* PolyLine 函数的使用*/  
 
    cvNamedWindow("show");  
    cvShowImage("show", testImage);  
    cvWaitKey(0);  
  
    cvReleaseImage(&testImage);/* 释放相关资源 */  
    cvDestroyAllWindows();  
    return 0; 


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零一2035

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值