对图片的卡尔曼滤波matlab程序.txt
《对图片的卡尔曼滤波matlab程序.txt》由会员分享,可在线阅读,更多相关《对图片的卡尔曼滤波matlab程序.txt(1页珍藏版)》请在冰豆网上搜索。
![对图片的卡尔曼滤波matlab程序.txt](https://file1.bdocx.com/fileroot1/2022-10/30/eac7dee6-7812-448b-b874-3bc671685e56/eac7dee6-7812-448b-b874-3bc671685e561.gif)
clc;
closeall;
mine=imread('E:
\matlabprogram\DSP\С��.jpg');%��ȡͼ��
show_size=size(mine)%��ʾͼ��ߴ�
figure
(1);
imshow(mine);%��ʾ����ͼ��
mine_noise=imnoise(mine,'gaussian',0,0.02);%�Ը���ͼ��Ӹ�˹������
figure
(2);
subplot(2,1,1);
imshow(mine_noise);%��ʾ����ͼ��
title('�����');
[r1,c1,m]=size(mine_noise)
imwrite(mine_noise,'С��_2.jpg','jpg');%д����ͼ�����ͼ���ļ�С��_2.jpg
mine_noise=double(mine_noise)/255;%uintת����double����
P=3;%����������Э�����ʼֵ
Q=0.25;%���̰���Э����
R=0.25;%�۲����Э����
A=1;%ϵͳ����
H=1;%�۲����
X=mine_noise(1,:
:
);%��ȡ����ͼ���һ��
mine_alter=zeros(r1,c1,m);
mine_alter(1,:
:
)=X;
forK=2:
r1;
X=A*X;%X(k|k-1)=AX(k-1|k-1)+BU(k)
P=A*P*A'+Q;%P(k|k-1)=AP(k-1|k-1)A��+Q
Kg=P*H'/(H*P*H'+R);%Kg(k)=P(k|k-1)H��/(HP(k|k-1)H��+R)
X=X+Kg*(mine_noise(K-1,:
:
)-H*X);%X(k|k)=X(k|k-1)+Kg(k)(Z(k)-HX(k|k-1))
P=(1-Kg*H)*P;%P(k|k)=��I-Kg(k)H��P(k|k-1)
mine_alter(K,:
:
)=X;%��������ֵ
end
%mine_alter=im2uint8(mine_alter);
subplot(2,1,2);
imshow(mine_alter);title('�������˲���');