标题:求助,看看这图像处理的程序哪出错了?
只看楼主
yonghang911
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-5-10
 问题点数:0 回复次数:0 
求助,看看这图像处理的程序哪出错了?
本人写的图像白平衡处理的程序。由于MATLAB刚学,对于数组、矩阵的数值处理搞不太懂,希望大家指出错误,最好能改正。谢谢!
function whitebalanced(pic)
a=imread(pic);
b=double(a);
[m,n]=size(b(:,:,1));
yadd=0;
for i=1:m
    for j=1:n
        y(i,j)=0.299*b(i,j,1)+0.587*b(i,j,2)+0.114*b(i,j,3);
        yadd=yadd+y(i,j);
    end
end
yave=yadd/m*n;
ymax=0;
for i=1:m
    for j=1:n
        if ymax<y(i,j)
            ymax=y(i,j);
        end
    end
end
Rsum=0;
Gsum=0;
Bsum=0;
num=0;
for i=1:m
    for j=1:n
        if y(i,j)<=0.95*ymax
                Rsum=Rsum+b(i,j,1);
                Gsum=Gsum+b(i,j,2);
                Bsum=Bsum+b(i,j,3);
                num=num+1;
            else
               num=num+0;
            end
    end
end
for i=1:m
    for j=1:n
        b(i,j,1)=yave*num*b(i,j,1)/Rave;
        b(i,j,2)=yave*num*b(i,j,2)/Gave;
        b(i,j,3)=yave*num*b(i,j,3)/Bave;
    end
end
c=uint8(b);
image(c);

[[it] 本帖最后由 yonghang911 于 2008-6-2 19:48 编辑 [/it]]
搜索更多相关主题的帖子: 图像处理 end yadd ymax 
2008-06-02 19:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-217231-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.259063 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved