转自: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; }