获取图像像素点的概率分布,不细讲,看代码

#include<cv.h>
#include<highgui.h>
#define cvGetHistValue_1D( hist, idx0 ) ((float*)(cvPtr1D( (hist)->bins, (idx0), 0 ))
int main()
{int hist_size[] = { 16, 16, 16 };float range[] = { 0, 255 };float *ranges[] = { range };int i, j, bin_w;float max_value, min_value;int min_idx, max_idx;char *name[3] = { "b", "g", "r" };double mean = 0, variance = 0;IplImage* img = cvLoadImage("E:\\VS\\picture\\24.jpg", 1);IplImage *pImage = NULL;IplImage *pImg[3];pImg[0] = cvCreateImage(cvGetSize(img), 8, 1);pImg[1] = cvCreateImage(cvGetSize(img), 8, 1);pImg[2] = cvCreateImage(cvGetSize(img), 8, 1);cvSplit(img, pImg[0], pImg[1], pImg[2], NULL);pImage = cvCloneImage(img);CvRect rect = cvRect(0, 0, 500, 600);//cvSetImageROI(pImage, rect);//创建一个图像用来存放直方图  IplImage *histImage[3];CvHistogram *hist[3];for (j = 0; j<3; j++){histImage[j] = cvCreateImage(cvSize(320, 200), 8, 3);//cvZero(histImage[j]);  hist[j] = cvCreateHist(1, &hist_size[j], CV_HIST_ARRAY, ranges, 1);//计算直方图并作用到hist变量中  cvCalcHist(&pImg[j], hist[j], 0, NULL);//得到直方图的最值及标号  cvGetMinMaxHistValue(hist[j], &min_value, &max_value, &min_idx, &max_idx);//缩放其最大值和最小值让其融入图像  cvScale(hist[j]->bins, hist[j]->bins, ((double)histImage[j]->height) / max_value, 0);//设置所有的直方图的数值为255  cvSet(histImage[j], cvScalarAll(255), 0);//建一个比例因子  沿宽度释放  bin_w = cvRound((double)histImage[j]->width / hist_size[j]);mean = 0;for (i = 0; i<hist_size[j]; i++){CvScalar scalar = cvScalarAll(0);scalar.val[j] = (i * 255 / hist_size[j]);cvRectangle(histImage[j], cvPoint(i*bin_w, histImage[j]->height),cvPoint((i + 1)*bin_w, histImage[j]->height - cvRound(cvGetReal1D(hist[j]->bins, i))), scalar, -1, 8, 0);float *bins = cvGetHistValue_1D(hist[j], i));//***//增加均值  mean += bins[0];//std::cout<<bins[0]<<" "<<bins[1]<<std::endl;  //printf("%d %d\n",bins[0],bins[1]);  }cvNamedWindow(name[j], 0);cvShowImage(name[j], histImage[j]);mean /= hist_size[j];//根据均值计算变化量  for (i = 0; i<hist_size[j]; i++){float* bins = cvGetHistValue_1D(hist[j], i));//***variance += pow((bins[0] - mean), 2);}variance /= hist_size[j];printf("histgram Mean:%f\n", mean);}//创建窗口  cvNamedWindow("Original", 0);cvShowImage("Original", pImage);cvWaitKey(0);cvReleaseImage(&img);for (j = 0; j<3; j++){cvDestroyWindow(name[j]);cvReleaseImage(&pImg[j]);cvReleaseImage(&histImage[j]);cvReleaseHist(&hist[j]);}cvDestroyWindow("Original");return 0;
}

获取图像像素点的概率分布图相关推荐

  1. python如何简便使用cumsum函数完成绘制累计概率分布图(CDF)

    累积分布函数(Cumulative Distribution Function),又叫分布函数,是概率密度函数的积分,能完整描述一个实随机变量X的概率分布.在电子器件制造中常常用于描述器件失效分布,可 ...

  2. Excel图表—标准正态分布概率分布图(概率密度函数图及累积概率分布图)的绘制

    看似很简单的一张Excel图表,实际上也花了10多分钟.这对于已经习惯了Spotfire这种数据可视化软件的我而言是不能接受的. 不过,功夫不负有心人,总算是画出了教科书上的效果. 以下是一点小创新, ...

  3. 重要统计公式及概率分布图

    1. Xba 抽样分布与检验效能之间的关系 2. z分布或t分布曲线 3.计算 z score (z值)或t score(t值) 基于当前零假设和当前样本,计算 z score (z值)或t scor ...

  4. 蒙落卡洛求定积分(可视化概率分布图)

    代码 clear; clc; close all; %% f = @(x) sin(x) ./ x; % 被 积分函数 l = -2 * pi; r = pi; % 积分区间 iteation_num ...

  5. python openCV 获取图像像素点

    import cv2# 读取图像 img = cv2.imread("test.jpg")# 查看图像 cv2.imshow("title", img) cv2 ...

  6. 均匀分布取某一点概率_概率和概率分布

    概率与概率分布是统计学中的基础概念,在我们的高中的课本中就接触过了,如果有遗忘,一起来回顾一下吧! 知识点: 概率 概率分布 一.概率 说到概率,需要先了解一个概念,叫做随机试验.随机试验是指在相同条 ...

  7. 得到的概率值_手把手教你将矩阵概率画成图

    手把手教你将矩阵&概率画成图 要是将每个矩阵和概率都看成对应的「图」会怎么样?本文作者带我们体验了这个简单而有趣的可视化过程. 选自math3ma,作者:Algebra,机器之心编译,参与:高 ...

  8. 绘制卡方分布的概率密度函数 matlab,MATLAB如何使用chi2pdf函数计算卡方分布的概率密度...

    MATLAB如何使用chi2pdf函数计算卡方分布的概率密度 [语法说明] Y=chi2pdf(X,V):函数计算X中的元素在参数V指定的卡方分布下的概率密度函数值.如果输入参数中有一个为标量,则将其 ...

  9. matlab泊松分布参数,MATLAB如何使用poisspdf函数计算泊松分布的概率

    MATLAB如何使用poisspdf函数计算泊松分布的概率 [语法说明] Y=poisspdf(X,lambda):计算X中元素在参数lambda指定的泊松分布下的概率值.Y是与X.lambda同型的 ...

  10. 概率论得学习和整理6:概率的分布

    多种概念其实是一样的 这几个概念说的是一回事 概率模型 分布 变量 比如 01分布,几何分布,二项分布,超几何分布,泊松分布,正态分布等 01概率模型,几何概率模型,二项概率模型,超几何概率模型,泊松 ...

最新文章

  1. 台州计算机考试现场确认,台州市2018年下半年中小学教资考试笔试网上报名及现场确认时间...
  2. android EditText显示不全
  3. 工作是属于公司的,而职业生涯却是属于你自己的
  4. source环境变量命令千万不能乱用
  5. 字符识别(模板匹配BP神经网络训练)
  6. mysqli 扩展_MySQLi的优势
  7. 9511王锋刘婧捐100万元,支持中国科大计算机学院
  8. 思科模拟器简单校园网设计,期末作业难度
  9. 北理乐学C语言寻找特殊偶数,北理乐学C语言答案-最新教程.doc
  10. 威联通建php邮件服务器_威联通 ※ 群晖 虚拟机性能对比 我可能要碰瓷 eSir
  11. 笔记本和利用服务器算力直连,使用闲置服务器的CPU算力挖掘Monero—Windows篇
  12. 计算机控制系统第2次作业,201609计算机控制系统作业2
  13. 连接可用AP,提示“已连接,但无法访问互联网”,过一会变成“网络连接受限”,实际可以上网
  14. linux绝育玩客云_绝育老母鸡(玩客云)pt下载浅谈
  15. echarts 柱状图数值为0时 显示柱体
  16. 如何编写测试用例?(详细分析)
  17. word后续段落格式变掉_如何在Word中设置段落格式
  18. JS-String类型及方法
  19. 如何用HTML写三级菜单
  20. 服务器Linux系统安全升级

热门文章

  1. 用vmware workstation做双机集群的详细过程(三)
  2. [2018.10.23 T1] 战争
  3. BZOJ2118[国家集训队] 墨墨的等式
  4. es6的模块化export和import
  5. Express框架学习笔记-app.locals对象
  6. python自动化_Python 接口自动化
  7. 测视力距离5米还是3米_高度近视眼怎么恢复视力?
  8. head first html与css 代码_手把手教你使用Flask轻松部署机器学习模型(附代码amp;链接) | CSDN博文精选...
  9. python爬虫笔记_python简单爬虫笔记
  10. 解决idea使用jdbc连接数据库失败的方法(针对驱动导入失败)