|
楼主 |
发表于 2007-4-29 18:04
|
显示全部楼层
二维直方图是基于象素之二维联合分布密度定义得到的.设(i,j),(k,l)两个任意象素点上的灰度值分别为g(i,j)和g(k,l),其值分别假设为a,b,则图像灰度值的联合分布密度表示为
P(a,b)=Pk{g(i,j)=a,g(k,l)=b}.其中a,b均为0到L-1之间的灰度整量电平.
我想求一幅灰度图象的二维联合密度。
我首先求出这幅图象的大小,也就是m,n。此外,这幅灰度图象是unint8型,那它的灰度级就是256个灰度级。根据上面关于二维联合分布密度的定义。即是要求得到这幅图中同时满足像素值为a和像素值为b的点的数量。程序中的ii,jj即是相关的a,b值,它可以为0到255之间的任意数(也可以理解为我用ii作为横坐标,jj作为纵坐标)。设置了a,b的值后,我就用个FOR循环来寻找图象中能够同时满足像素值为a和像素值为b的点(即为IF语句后的条件),当满足条件时,那么在该点上加一,就能统计出同时满足a,b的点的数量。因为a,b可以取不同的值,那么就能得出一个256*256大小的矩阵,也就是我想要的二维联合分布密度。
但是用FOR循环实现这个运行速度十分慢。
请教一下有没有什么优化的方法!
谢谢楼上的! |
|