| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖
标题:求助,看看这图像处理的程序哪出错了?
只看楼主 加入收藏
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
快速回复:求助,看看这图像处理的程序哪出错了?
数据加载中...
 
   



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

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