Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-11-29, 11:18   #1
heyjude
初级会员
 
注册日期: 2008-11-29
年龄: 40
帖子: 1
声望力: 0
heyjude 正向着好的方向发展
微笑 [求助]matlab的灰度直方图均衡化的程序

不要用histeq函数,

本人编的程序如下:
I=imread('C:\Documents and Settings\Administrator\桌面\1.bmp','bmp');
J=rgb2gray(I);
A=im2double(J);
[m,n]=size(A);%获得该图的行列数。
m1=zeros(1,256);%为直方图申请矩阵。
m2=zeros(1,256);
for i=1:m
for j=1:n
m1(A(i,j)+1)=m1(A(i,j)+1)+1;%统计各级灰度的像素数。
end
end
m2(1)=0;
for k=2:256
m3(k)=m1(k)/(m*n);%计算出灰度的概率。
m2(k)=m2(k-1)+m3(k);%累加直方图。
end
M=zeros(m,n);
for i=1:m
for j=1:n
M(i,j)=(255*m2(A(i,j))); %将处理后的灰度装入新的矩阵。
end
end
P=uint8(M);%转成uint8型。
subplot(3,2,1);imshow(I);title('原始图像');subplot(3,2,2);imhist(I);title('原始直方图');%输出图像和直方图,加以对比。

但是运行时,提示第9行即“m1(A(i,j)+1)=m1(A(i,j)+1)+1;”错误,不知错在哪里,希望哪位解答一下,谢谢了
heyjude 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
matlab工具箱函数汇总(很全) chenjinyang MATLAB论坛 17 2011-02-27 21:13
[求助]仿真报错 alex_magicsky MATLAB论坛 0 2009-03-10 20:45
[求助]trust region到底是什么东西!!! txytan1989 MATLAB论坛 0 2009-02-24 21:17
【求助】这个微分方程怎么写成函数文件呢? grasszhang MATLAB论坛 0 2007-08-30 15:25


所有时间均为北京时间。现在的时间是 14:27


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.