《学习OpenCV》练习7-1
2014-02-15 20:32
337 查看
#include "cv.h" #include "highgui.h" #include "stdio.h" int main() { /*产生10000随机数,并将随机数储存于一个1*10000像素的图像中*/ CvRNG rng; rng = cvRNG( cvGetTickCount() ); IplImage* mat = cvCreateImage( cvSize(1,10000), IPL_DEPTH_32F, 1 ); //创建一个1*10000的图像,实际就是一个向量呗 for (int i=0; i<10000; i++) { cvSet1D( mat, i, cvScalar(cvRandReal(&rng))); } /*配置、生成直方图*/ int dims = 1; //维数为1 int bins = 10; //分成10份 int sizes[] = {bins}; //由于维数是1所以sizes[]里只有一个变量 float range[] = {0,1}; //随机数范围为0到1 float* rangs[] = {range}; CvHistogram* hist = cvCreateHist( dims, sizes, CV_HIST_ARRAY, rangs, 1 ); cvCalcHist( &mat, hist, 0, 0 ); //计算随机数mat的直方图 /*for循环计算每个bin中随机数的数量*/ for (int i=0; i<bins; i++) { double values = cvQueryHistValue_1D( hist, i ); printf( "the bins of %d: %f\n", i, values ); } return 0; }
相关文章推荐
- Linux C函数参考手册(PDF版)
- C#实现打造气泡屏幕保护效果
- C/C++数据对齐详细解析
- C 语言基础教程(我的C之旅开始了)[三]
- C 语言基础教程(我的C之旅开始了)[七]
- C/C++ 宏详细解析
- PHP GD 图像处理组件的常用函数总结
- 用C#生成不重复的随机数的代码
- 在c和c++中实现函数回调
- jsvascript图像处理―(计算机视觉应用)图像金字塔
- 浅析C/C++中被人误解的SIZEOF
- C 语言基础教程(我的C之旅开始了)[六]
- php生成图形验证码几种方法小结
- Javascript图像处理思路及实现代码
- CentOS的图形安装及初始环境设置教程
- opencv 做人脸识别 opencv 人脸匹配分析
- C/C++函数调用的几种方式总结
- c/c++中变量的声明和定义深入解析
- 浅析c与c++中struct的区别