| 查看: 1163 | 回复: 3 | |||
[求助]
matlaB图像边界问题,简化程序
|
|
tic clear all S=imread('lena.png'); S=double(S); S=Normalized(S); [p,q]=size(S); average=zeros(p,q); rme=zeros(p,q); beta=zeros(p,q); heta=zeros(p,q); u=zeros(p,q); for i0=2:1:p-1 %此处开始图像循环 for i1=2:1:q-1 V=[S(i0-1,i1-1) S(i0-1,i1) S(i0-1,i1+1); S(i0,i1-1) S(i0,i1) S(i0,i1+1); S(i0+1,i1-1) S(i0+1,i1) S(i0+1,i1+1)]; average(i0,i1)=mean(V(: ));%求窗口均值 %%%下面小循环为了求当前窗口的标准差 su=0; for i=1:1:3 for j=1:1:3 su=(V(i,j)-average(i0,i1))^2+su; end end rme(i0,i1)=sqrt(su/9);%标准差 %%%%下面是最终想要求三个矩阵(应用均值和标准差) beta(i0,i1)=(rme(i0,i1)/average(i0,i1)); u(i0,i1)=log(1/average(i0,i1)); heta(i0,i1)=average(i0,i1); end end function [normalized_matrix]=Normalized(matrix) input_matrix=abs(matrix); Max_input=max(input_matrix(: )); Min_input=min(input_matrix(: )); min_matrix=ones(size(input_matrix)).*Min_input; normalized_matrix=(input_matrix-min_matrix)./(Max_input-Min_input+eps); Elapsed time is 5.915782 seconds. (V是一个3x3的窗口,用此窗口遍历整幅图像,求窗口内图像的均值和标准差;应用标准差和均值求三个矩阵beta,u和heta) 需要解决的问题: 1最后求得的图像均值,标准差和最后三个矩阵边界像素都为0。这个边界问题怎么解决? 2运算时间太长,我想这样窗口遍历图像的算法应该有更加高效的程序,精简程序或其他高效程序? 请高手指点,或可以站内和我联系,如果可以解决可以追加BB,呵呵[ Last edited by jjdg on 2011-11-16 at 01:49 ] |
» 猜你喜欢
垃圾破二本职称评审标准
已经有18人回复
职称评审没过,求安慰
已经有53人回复
毕业后当辅导员了,天天各种学生超烦
已经有5人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
EST投稿状态问题
已经有7人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab中图像的排列
已经有5人回复
关于Matlab作图的问题
已经有14人回复
matlab下bvp4c求解非线方程问题
已经有5人回复
求助使用MATLAB计算绿色叶片的覆盖度的问题
已经有24人回复
求助Matlab图像加入噪声的问题
已经有1人回复
MATLAB 画图小问题
已经有11人回复
[交流]分享Matlab写的PML吸收边界条件。代码很精简
已经有11人回复
matlab画三维图的问题
已经有5人回复
【求助】用MATLAB画三维图程序编写的问题
已经有6人回复
【求助】MATLAB多个mat中 数据画图问题
已经有7人回复
2楼2011-11-16 12:46:05
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

3楼2011-11-17 19:00:07
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

4楼2011-11-17 22:31:07













回复此楼