基于区间统计的颜色直方图图像匹配算法
来源:互联网 发布:kieng软件 编辑:程序博客网 时间:2024/06/06 15:57
算法的原理在:
点击打开链接
原理大概意思是:将R,G,B各分量信息 颜色信息划分为 N 区间。
例如下图:4X4X4 的区间
red0-6364-127128-191192-255blue0-63437818064-1274567332128-19112758258192-255140474713在统计 各个区间内的像素数:...
MATLAB 代码实现
就算函数是dhist.m 文件 参数 bins 是需要划分的区间,filename 需要计算 直方图的文件名,result 为计算的直方图结果。
function result = dhist(bins,filename) pic = imread(filename); PR = pic(:,:,1); PG = pic(:,:,2); PB = pic(:,:,3); %% dim = bins^3; %%得到总维数 %%划分的区间为 step = round(256/bins); %% resultr = 0; resultg = 0; resultb = 0; GP=zeros(1,dim); for r=0:(bins-1) %r分量 resultr = 0; for s=(step*r):(step*(r+1)-1) resultr = resultr + length(find(PR==s)); end for g=0:(bins-1) %g分量 resultg = 0; for s=(step*g):(step*(g+1)-1) resultg = resultg + length(find(PG==s)); end %% 正确计算了b的数值 for b=0:(bins-1) %b分量 resultb = 0; %% 划分的区间为 for s=(step*b):(step*(b+1)-1) resultb = resultb + length(find(PB==s)); %fprintf(' %d\n',s); end GP((bins*bins*r)+((bins*g)+(b+1))) = GP((bins*bins*r)+((bins*g)+(b+1))) + resultb + resultg + resultr; end %% end end result = GP;% [M,N]=size(result);% fprintf('%d %d\n',M,N);end
下面是测试文件:一下是 10x10的划分区间
red = dhist(10,'red.bmp');blue = dhist(10,'blue.bmp');cov = corrcoef(red,blue);fprintf('相关系数为 %d\n\n',cov);
0 0
- 基于区间统计的颜色直方图图像匹配算法
- 基于HSV分块颜色直方图的图像检索算法
- 基于颜色直方图的图像检索
- 基于CUDA的图像亮度直方图统计
- 图像直方图统计及直方图匹配
- 练习:利用颜色直方图匹配算法实现图像中目标的识别
- 图像的直方图匹配
- 基于直方图的图像二值化算法实现
- vc++基于颜色直方图的图像检索,含代码
- vc++基于颜色直方图的图像检索,含代码
- 基于opencv和c++的图像处理:直方图匹配
- 基于opencv和c++的图像处理:直方图匹配
- 【图像处理】基于OpenCV底层实现的直方图匹配
- OpenCV-统计图像的直方图,绘制直方图
- opencv基于直方图实现图像检索匹配
- 基于颜色直方图的搜索
- 十三种基于直方图的图像全局二值化算法--转载
- 基于直方图的图像增强算法(HE、CLAHE、Retinex)
- 优秀研发人员的10000小时
- iOS学习之UISwitch控件两种使用方法和监听
- rabbitvcs Installation on RHEL/CentOS 5
- flex.messaging.io.UnknownTypeException: Unknown AMF type '15'.
- Hibernate配置文件
- 基于区间统计的颜色直方图图像匹配算法
- 数据挖掘之回归分析
- 关于curl: (2) Failed Initialization
- Android 4.0 ICS SystemUI浅析——SystemUI启动流程
- Redis内存存储结构分析
- mysql常用监控脚本命令列表
- ADODB错误解决办法
- arm-linux-androideabi-addr2line android定位CRASH问题利器
- Java动态代理