《学习OpenCV》第七章课后题一
7.1 在0-1之间生成1000个随机值ri,定义一个bin的大小,并且建立一个直方图几1/ri。
在每一个bin中元素数是否相同(正负差值在10内即可)
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
using namespace std;
using namespace cv;
#define cvQueryHistValue_1D( hist, idx0 ) cvGetReal1D( (hist)->bins, (idx0) )
int main(int argc, const char * argv[]) {
/*1、生成一个随机种子*/
CvRNG rng;
rng = cvRNG(cvGetTickCount());
/*2、创建一个1*1000的图像,实际上就是一个Vector*/
IplImage * Img = cvCreateImage(cvSize(1, 1000), IPL_DEPTH_32F, 1);
cout<<Img->widthStep<<endl;
cout<<Img->width<<endl;
cout<<Img->height<<endl;
/*3、对图像进行赋值*/
for(int i = 0;i<1000;i++)
{
cvSet1D(Img, i, cvScalar(cvRandReal(&rng)));
}
/*4、查看Img存储的数据是否正确,注意Img的depth,提取data需要保存位float*/
i