盲源分离matlab程序,Ica盲源分离Matlab程序

《Ica盲源分离Matlab程序》由会员分享,可在线阅读,更多相关《Ica盲源分离Matlab程序(3页珍藏版)》请在人人文库网上搜索。

1、Ica盲源分离Matlab程序close all;clear all;i4=imread(1.jpg);i5=imread(2.jpg);i6=imread(2.png);i1=rgb2gray(i4);i2=rgb2gray(i5);i3=rgb2gray(i6);s1=reshape(i1,1,256*256);s2=reshape(i2,1,256*256);s3=reshape(i3,1,256*256);s=s1;s2;s3;sig=double(s);aorig=rand(size(sig,1);mixedsig=aorig*sig;ms1=reshape(mixedsig(1,:。

2、),256,256);ms2=reshape(mixedsig(2,:),256,256);ms3=reshape(mixedsig(3,:),256,256);figure;subplot(331),imshow(i1),subplot(332),imshow(i2),subplot(333),imshow(i3);subplot(334),imshow(uint8(ms1),subplot(335),imshow(uint8(ms2),subplot(336),imshow(uint8(ms3);% mixedsig=zeros(size(mixedsig);meanValue=mean(。

3、mixedsig);mixedsig=mixedsig-meanValue*ones(1,size(mixedsig,2);covarianceMatrix=cov(mixedsig,1);E,D=eig(covarianceMatrix);eigenvalues=flipud(sort(diag(D);whiteningMatrix=inv(sqrt(D)*E;dewhiteningMatrix=E*sqrt(D);whitesig=whiteningMatrix*mixedsig;X=whitesig;vectorSize,numSamples=size(X);B=zeros(vector。

4、Size);numOFIC=vectorSize;for r=1:numOFICi=1;maxNumIterations=100;w=rand(vectorSize,1)-.5;w=w/norm(w);while i=maxNumIterations+1w=w-B*B*w;w=w/norm(w);w=(X*(X*w).3)/numSamples-3*w;w=w/norm(w);i=i+1;endA(:,r)=dewhiteningMatrix*w;W(r,:)=w*whiteningMatrix;B(:,r)=w;endicasig=W*mixedsig+(W*meanValue)*ones(1,numSamples);icasig=abs(50*icasig);a=reshape(icasig(1,:),256,256);b=reshape(icasig(2,:),256,256);c=reshape(icasig(3,:),256,256);subplot(337),imshow(uint8(a),subplot(338),imshow(uint8(b),subplot(339),imshow(uint8(c。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值