诚心找师傅一位~~~指导图像算法的东西。

yangfanxing__ 2010-03-08 09:51:09
如RX异常检测算法、PCA算法、图像变换等等~~~
QQ:409877786
y_hai@126.com
...全文
50 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
one2zero 2010-03-09
  • 打赏
  • 举报
回复
帮顶 图形方面还没有涉及!!!
yangfanxing__ 2010-03-09
  • 打赏
  • 举报
回复
dis = (r-u)'*inv(cov)*(r-u),
“其中
r为判别点向量,
u为背景区域样本均值,
cov为背景区域样本协方差矩阵。”

RX算法的实现:
function RXdet = RX(A,winlenth,shape)

%这3个参数应该是指图像矩阵,波段数,第三个是什么呢???????????????????????????????
%一下的shape都是什么意思?

switch shape
case 0
target_spatial=[0 0 1 0 0;
0 0 1 0 0;
1 1 1 1 1;
0 0 1 0 0;
0 0 1 0 0];
case 1
target_spatial=[1 0 1;
0 1 0;
1 0 1];
case 2
target_spatial=[1 0 0 0 1; %%% 主程序中取shape=2
0 1 0 1 0;
0 0 1 0 0;
0 1 0 1 0;
1 0 0 0 1];
case 3
target_spatial=[1 0 0 0 0 0 1
0 1 0 0 0 1 0;
0 0 1 0 1 0 0;
0 0 0 1 0 0 0;
0 0 1 0 1 0 0
0 1 0 0 0 1 0
1 0 0 0 0 0 1];
otherwise
disp('Unknown shape.')
end

SizeA=size(A);
if length(SizeA)==2 %% 若为二维图象,将其看作一幅第三维为1的三维图象
SizeA(3) = 1;
end

%这一段是什么东西????????????????????????????????????????????????

AA((winlenth+1)/2:(winlenth-1)/2+SizeA(1), (winlenth+1)/2:(winlenth-1)/2+SizeA(2),:)=A; %中
AA((winlenth-1)/2:-1:1,(winlenth+1)/2:(winlenth-1)/2+SizeA(2),:)=A(1:(winlenth-1)/2,:,:); %上
AA(winlenth-1+SizeA(1):-1:(winlenth+1)/2+SizeA(1),(winlenth+1)/2:(winlenth-1)/2+SizeA(2),:)...%下
=A(SizeA(1)-(winlenth-3)/2:SizeA(1),:,:); %
AA((winlenth+1)/2:(winlenth-1)/2+SizeA(1),(winlenth-1)/2:-1:1,:)=A(:,1:(winlenth-1)/2,:); %左
AA((winlenth+1)/2:(winlenth-1)/2+SizeA(1),winlenth-1+SizeA(2):-1:(winlenth+1)/2+SizeA(2),:)...%右
=A(:,SizeA(2)-(winlenth-3)/2:SizeA(2),:); %
AA((winlenth-1)/2:-1:1,(winlenth-1)/2:-1:1,:)=A(1:(winlenth-1)/2,1:(winlenth-1)/2,:); %左上
AA(winlenth-1+SizeA(1):-1:(winlenth+1)/2+SizeA(1),winlenth-1+SizeA(2):-1:(winlenth+1)/2+... %右下
SizeA(2),:)=A(SizeA(1)-(winlenth-3)/2:SizeA(1),SizeA(2)-(winlenth-3)/2:SizeA(2),:); %
AA(winlenth-1+SizeA(1):-1:(winlenth+1)/2+SizeA(1),(winlenth-1)/2:-1:1,:)... %左下
=A(SizeA(1)-(winlenth-3)/2:SizeA(1),1:(winlenth-1)/2,:); %
AA((winlenth-1)/2:-1:1,winlenth-1+SizeA(2):-1:(winlenth+1)/2+SizeA(2),:)... %右上
=A(1:(winlenth-1)/2,SizeA(2)-(winlenth-3)/2:SizeA(2),:); %

clear A;

spatial_pattern=zeros(winlenth,winlenth);
spatial_pattern((winlenth-3)/2:(winlenth+5)/2,(winlenth-3)/2:(winlenth+5)/2)=target_spatial;
s=zeros(1,winlenth*winlenth);
for i=1:winlenth
for j=1:winlenth
s((i-1)*winlenth+j)=spatial_pattern(i,j);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%% RX运算%%%%%%%%
%【滑】 【动】 【窗】 【去均值】???????????????????
for i=(winlenth+1)/2:(winlenth-1)/2+SizeA(1)
for j=(winlenth+1)/2:(winlenth-1)/2+SizeA(2)
AAA=AA(i-(winlenth-1)/2:i+(winlenth-1)/2,j-(winlenth-1)/2:j+(winlenth-1)/2,:);%滑
x=[];

xn=zeros(SizeA(3),1);

for m=1:winlenth
for n=1:winlenth %动
xn(:)=AAA(m,n,:);
x=[x,xn];
end
end %窗

WinMean=mean(x,2);
WinCov=cov(x');
% WinCov(1,1)
InvCov=inv(WinCov);
clear WinCov;

for n=1:winlenth*winlenth %去均值
x(:,n)=x(:,n)-WinMean;
end %
% figure,imshow();
xx=x*s';
RXdet(i-(winlenth-1)/2,j-(winlenth-1)/2)=xx'*InvCov*xx/(s*s');
end
end
figure,imshow(RXdet,[]);

不知道有没有人帮我理通一下~~~
ypb362148418 2010-03-08
  • 打赏
  • 举报
回复
友情UP,网上搜一下吧,然后将不懂的贴出来,大家一快看,我最近也在做图像格式的东西,互相交流下,我的QQ:362148418

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧