OpenCV绘图

来源:互联网 发布:中国家庭金融调查知乎 编辑:程序博客网 时间:2024/04/29 07:37

转自:http://www.shervinemami.co.cc/graphs.html

在OpenCV程序中,使用第三方库graphUtils对通过计算得到的结果数据进行可视化操作。graphUtils的实现依赖OpenCV库。

其主要功能包括:

1、在新窗口中将一维数组中的数据可视化;(支持的数据类型包括:float, int, uchar)

2、在新建的IplImage上显示多组数据;

3、在已存在的IplImage上显示多组数据;

 

例子程序:

#include <opencv/cv.h>

#include <opencv/highgui.h>

#include "GraphUtils.h"

#define ELEMENTNUM 100

#define WIDTH 1000

#define HEIGHT 400

int main(int argc, char *argv[]) {

IplImage *graphImage = NULL;

float floatVec1[ELEMENTNUM], floatVec2[ELEMENTNUM];


CvRandState randState; // 生成符合正态分布的随机数据

cvRandInit(&randState, 5, 5, cvGetTickCount(), CV_RAND_NORMAL);

cvbRand(&randState, floatVec1,ELEMENTNUM);

cvRandSetRange(&randState, 0, 5);

cvbRand(&randState, floatVec2, ELEMENTNUM);

 

// 绘曲线图 graphImage = drawFloatGraph(floatVec1, ELEMENTNUM, NULL, -20, 20, WIDTH, HEIGHT, "NormRandomData");

drawFloatGraph(floatVec2, ELEMENTNUM, graphImage, -20, 20, WIDTH, HEIGHT);

cvSaveImage("test.jpg", graphImage); showImage(graphImage, 0, "OpencvDrawTest");

cvReleaseImage(&graphImage); return 0; }