OpenCV用C画线代码示例

简介: OpenCV用C画线代码示例

工作原因,需要用C调用OpenCV,在视频画面上画线。经过一番折腾,确实把线画出来了。也许有人需要,这里就发出来。

  从视频得到一个缓冲区(RGBA),然后绘制一个斜线。其他的数据源、绘制要求,也很容易了。

#include <imgproc/imgproc_c.h>
#include <highgui/highgui_c.h>
#include <core/core_c.h>
//注意opencv要求格式为gbr,会导致红蓝颠倒
int gh_trace_draw_track(FrameData* pFrame)
{
    CvPoint p1;
    CvPoint p2;
    CvScalar color;
    CvSize size;
    if (!(pFrame->buffer.data))
    {
        return 0;
    }
    size.width = pFrame->size2d.width;
    size.height= pFrame->size2d.height;
    //根据不同格式,使用对应的大小
    IplImage* iplImage = cvCreateImageHeader(size, IPL_DEPTH_8U, SIZE_ARGB);
    cvSetData(iplImage, pFrame->buffer.data, size.width*SIZE_ARGB);
    p1.x = 0;
    p1.y = 0;
    p2.x = size.width;
    p2.y = size.height;
    color.val[0] = 0xFF;
    color.val[1] = 0;
    color.val[2] = 0xFF;
    color.val[3] = 0;
    // 可以用cvPoint(x1,y1)的写法
    cvLine(iplImage, p1, p2, color, 1, 8, 0);
    return 0;
}

画矩形

    cvRectangle(iplImage, cvPoint(x1,y1), cvPoint(x2,y2), color, CV_FILLED, 8, 0);
目录
相关文章
|
15天前
|
存储 C语言 计算机视觉
OpenCV—数据结构与基本绘图(一)
OpenCV—数据结构与基本绘图(一)
|
15天前
|
算法 计算机视觉
【OpenCV】漫水填充
【OpenCV】漫水填充
|
15天前
|
存储 计算机视觉
OpenCV—学习基本绘图
OpenCV—学习基本绘图
|
3月前
|
Python
Python——绘制圆形
Python——绘制圆形
28 0
|
7月前
|
计算机视觉 Python
openCV的trackbar调色板
openCV的trackbar调色板
32 1
|
7月前
OpenCV-绘制同心圆
OpenCV-绘制同心圆
|
7月前
OpenCV-绘制多边形(fillConvexPoly和fillPoly的区别)
OpenCV-绘制多边形(fillConvexPoly和fillPoly的区别)
121 1
|
7月前
OpenCV-绘制圆端矩形(药丸)
OpenCV-绘制圆端矩形(药丸)
OpenCV-绘制圆端矩形(药丸)
|
7月前
OpenCV-绘制圆角矩形
OpenCV-绘制圆角矩形
|
算法 C++
成为Qt绘图高手,你需要掌握这些
成为Qt绘图高手,你需要掌握这些