#include "cv.h"
#include "highgui.h"
#include <IOSTREAM.H>
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"highgui.lib")
#pragma comment(lib,"cxcore.lib")
int main(int argc, char** argv)
{
CvRNG rng;//设置这个的目的是为了保证每次运行程序时得到真正的随机数
rng = cvRNG(cvGetTickCount());
IplImage* mat = cvCreateImage(cvSize(1,1000),IPL_DEPTH_32F,1);//创建一个1*1000的图像,实际就是一个向量呗
for (int i=0;i<1000;i++)
{
cvSet1D(mat,i,cvScalar(cvRandReal(&rng)));
}
int dims = 1;
int bins = 10; //只有一维,所以只有一个bin分量,也可以使用int size[] = {bins}的形式
//int size[] = {bins};
float range[] = {0,1};
float* rangs[] = {range}; //必须使用这样的形式,不能像上一句代码那样,传递&range给cvCalcHist
CvHistogram* hist = cvCreateHist(dims,&bins,CV_HIST_ARRAY,rangs,1);
cvCalcHist(&mat,hist,0,0);
for (int j = 0; j < bins; j++)
{
double values = cvQueryHistValue_1D(hist,j);
cout<<"the bins of "<< j<<":"<<values<<endl;
}
return 1;
}
学习opencv第七章(7.1)
最新推荐文章于 2022-03-06 15:44:03 发布