简化程序(MATLAB)急用!function TextureSyn()M=imread('D:\test3\test3.jpg'); %读原128*128图figure,imshow(M); %显示原图 M=double(M); %转换doubleN=wgn(128,128,0); %随机128*128噪声N=abs(N);C=max(max(N));N=uint8(N*255/C); %值变成0-255%

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 18:45:55

简化程序(MATLAB)急用!function TextureSyn()M=imread('D:\test3\test3.jpg'); %读原128*128图figure,imshow(M); %显示原图 M=double(M); %转换doubleN=wgn(128,128,0); %随机128*128噪声N=abs(N);C=max(max(N));N=uint8(N*255/C); %值变成0-255%
简化程序(MATLAB)急用!
function TextureSyn()
M=imread('D:\test3\test3.jpg'); %读原128*128图
figure,imshow(M); %显示原图
M=double(M); %转换double
N=wgn(128,128,0); %随机128*128噪声
N=abs(N);
C=max(max(N));
N=uint8(N*255/C); %值变成0-255
%figure,imshow(N); %显示噪声图像
N=double(N);
tic
%匹配原则:从第4行第4列开始在原图像中搜索匹配,当它左边和上面4临域块各个像素差异的平方和最小时认为最近啊匹配,把该点像素写入图像
for i=4:123 %合成图行
for j=4:123 %合成图行
R=2250000; % 规定很大值,比较最佳匹配时用
temp=0; %匹配计算临时值
for m=4:123 %原图行
for n=4:123 %原图行
temp=(M(m-1,n-1)-N(i-1,j-1))^2+(M(m-1,n)-N(i-1,j))^2+(M(m-1,n+1)-N(i-1,j+1))^2+(M(m,n-1)-N(i,j-1))^2+(M(m-3,n-3)-N(i-3,j-3))^2+(M(m-3,n-2)-N(i-3,j-2))^2+(M(m-3,n-1)-N(i-3,j-1))^2+(M(m-3,n)-N(i-3,j))^2+(M(m-3,n+1)-N(i-3,j+1))^2+(M(m-3,n+2)-N(i-3,j+2))^2+(M(m-3,n+3)-N(i-3,j+3))^2+(M(m-3,n+4)-N(i-3,j+4))^2+(M(m-3,n+5)-N(i-3,j+5))^2+(M(m-2,n-3)-N(i-2,j-3))^2+(M(m-2,n-2)-N(i-2,j-2))^2+(M(m-2,n-1)-N(i-2,j-1))^2+(M(m-2,n)-N(i-2,j))^2+(M(m-2,n+1)-N(i-2,j+1))^2+(M(m-2,n+2)-N(i-2,j+2))^2+(M(m-2,n+3)-N(i-2,j+3))^2+(M(m-2,n+4)-N(i-2,j+4))^2+(M(m-2,n+5)-N(i-2,j+5))^2+(M(m-1,n-3)-N(i-1,j-3))^2+(M(m-1,n-2)-N(i-1,j-2))^2+(M(m-1,n+3)-N(i-1,j+3))^2+(M(m-1,n+4)-N(i-1,j+4))^2+(M(m-1,n+5)-N(i-1,j+5))^2+(M(m,n-3)-N(i,j-3))^2+(M(m,n-2)-N(i,j-2))^2+(M(m+1,n-3)-N(i+1,j-3))^2+(M(m+1,n-2)-N(i+1,j-2))^2+(M(m+1,n-1)-N(i+1,j-1))^2+(M(m+2,n-3)-N(i+2,j-3))^2+(M(m+2,n-2)-N(i+2,j-2))^2+(M(m+2,n-1)-N(i+2,j-1))^2+(M(m+3,n-3)-N(i+3,j-3))^2; %计算他周边的4临域像素的距离
if R>temp
R=temp;
R1=m;
R2=n;
end
end
end
N(i,j)=M(R1,R2); %拷贝像素值
end
end
toc %计时
N=uint8(N);
imwrite(N,'TextureSyn3_4.jpg');
figure,imshow(N);
可以去掉不必要的循环,即去掉for

简化程序(MATLAB)急用!function TextureSyn()M=imread('D:\test3\test3.jpg'); %读原128*128图figure,imshow(M); %显示原图 M=double(M); %转换doubleN=wgn(128,128,0); %随机128*128噪声N=abs(N);C=max(max(N));N=uint8(N*255/C); %值变成0-255%
function TextureSyn()
M=imread('1.jpg'); %读原128*128图
figure,imshow(M); %显示原图
M=double(M); %转换double
N=wgn(128,128,0); %随机128*128噪声
N=abs(N);
C=max(max(N));
N=uint8(N*255/C); %值变成0-255
%figure,imshow(N); %显示噪声图像
N=double(N);
tic
%匹配原则:从第4行第4列开始在原图像中搜索匹配,当它左边和上面4临域块各个像素差异的平方和最小时认为最近啊匹配,把该点像素写入图像
%for i=4:123 %合成图行
%for j=4:123 %合成图行
R=2250000; % 规定很大值,比较最佳匹配时用
temp=0; %匹配计算临时值
for m=4:123 %原图行
for n=4:123 %原图行
temp=(M(m-1,n-1)-N(i-1,j-1))^2+(M(m-1,n)-N(i-1,j))^2+(M(m-1,n+1)-N(i-1,j+1))^2+(M(m,n-1)-N(i,j-1))^2+(M(m-3,n-3)-N(i-3,j-3))^2+(M(m-3,n-2)-N(i-3,j-2))^2+(M(m-3,n-1)-N(i-3,j-1))^2+(M(m-3,n)-N(i-3,j))^2+(M(m-3,n+1)-N(i-3,j+1))^2+(M(m-3,n+2)-N(i-3,j+2))^2+(M(m-3,n+3)-N(i-3,j+3))^2+(M(m-3,n+4)-N(i-3,j+4))^2+(M(m-3,n+5)-N(i-3,j+5))^2+(M(m-2,n-3)-N(i-2,j-3))^2+(M(m-2,n-2)-N(i-2,j-2))^2+(M(m-2,n-1)-N(i-2,j-1))^2+(M(m-2,n)-N(i-2,j))^2+(M(m-2,n+1)-N(i-2,j+1))^2+(M(m-2,n+2)-N(i-2,j+2))^2+(M(m-2,n+3)-N(i-2,j+3))^2+(M(m-2,n+4)-N(i-2,j+4))^2+(M(m-2,n+5)-N(i-2,j+5))^2+(M(m-1,n-3)-N(i-1,j-3))^2+(M(m-1,n-2)-N(i-1,j-2))^2+(M(m-1,n+3)-N(i-1,j+3))^2+(M(m-1,n+4)-N(i-1,j+4))^2+(M(m-1,n+5)-N(i-1,j+5))^2+(M(m,n-3)-N(i,j-3))^2+(M(m,n-2)-N(i,j-2))^2+(M(m+1,n-3)-N(i+1,j-3))^2+(M(m+1,n-2)-N(i+1,j-2))^2+(M(m+1,n-1)-N(i+1,j-1))^2+(M(m+2,n-3)-N(i+2,j-3))^2+(M(m+2,n-2)-N(i+2,j-2))^2+(M(m+2,n-1)-N(i+2,j-1))^2+(M(m+3,n-3)-N(i+3,j-3))^2; %计算他周边的4临域像素的距离
if R>temp
R=temp;
R1=m;
R2=n;
end
end
end
N(i,j)=M(R1,R2); %拷贝像素值
%end
%end
toc %计时
N=uint8(N);
imwrite(N,'TextureSyn3_4.jpg');
figure,imshow(N);