基于偏微分方程的图像处

上传人:206****923 文档编号:37504596 上传时间:2018-04-17 格式:DOC 页数:16 大小:1.05MB
返回 下载 相关 举报
基于偏微分方程的图像处_第1页
第1页 / 共16页
基于偏微分方程的图像处_第2页
第2页 / 共16页
基于偏微分方程的图像处_第3页
第3页 / 共16页
基于偏微分方程的图像处_第4页
第4页 / 共16页
基于偏微分方程的图像处_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于偏微分方程的图像处》由会员分享,可在线阅读,更多相关《基于偏微分方程的图像处(16页珍藏版)》请在金锄头文库上搜索。

1、1(1)clear;image_I=imread(C22.bmp);subplot(2,2,1);imshow(image_I);matrix_R(:,:,1)=image_I(:,:,1);matrix_R(:,:,2)=0;matrix_R(:,:,3)=0;subplot(2,2,2);imshow(matrix_R);title(R 分量);matrix_G(:,:,2)=image_I(:,:,2);matrix_G(:,:,1)=0;matrix_G(:,:,3)=0;subplot(2,2,3);imshow(matrix_G);title(G 分量);matrix_B(:,:,

2、3)=image_I(:,:,3);matrix_B(:,:,1)=0;matrix_B(:,:,2)=0;subplot(2,2,4);imshow(matrix_B);title(B 分量)R传 传G传 传B传 传(2)clear;Image=imread(I22_256.bmp);imshow(Image);m,n=size(Image);image11=Image;for i=1:mfor j=1:nimage12(i,j)=image11(i,n-j+1);endendfor j=1:nfor i=1:mimage21(i,j)=image11(m-i+1,j);image22(i,

3、j)=image12(m-i+1,j);endendimage1=image11,image12;image2=image21,image22;image=image1;image2;figureimshow(image)2clear;Image=imread(I22_256.bmp);Image1=0.5*double(Image);subplot(3,2,1);imshow(Image);subplot(3,2,2);imhist(Image);subplot(3,2,3);imshow(uint8(Image1);image1=uint8(Image1);imwrite(image1,I

4、22_256_1.bmp)subplot(3,2,4);imhist(image1);Image_hist=histeq(image1);subplot(3,2,5);imshow(Image_hist);imwrite(Image_hist,I22_256_2.bmp)subplot(3,2,6);imhist(Image_hist);010000100200010002000010020001000200001002003(1)function level(image_name,N)%求一图像的水平集、线%输入参数:image_name-图像文件名% :N-阀值(0-255) if nar

5、gin Nmatrix_temp(row,col)=1;endendendsubplot(2,2,2);imshow(matrix_temp,);title(图像的水平集); imwrite(matrix_temp,level_setzhan.bmp);%图像矩阵扩展 赋值 便于处理边界 matrix_ex=zeros(size_m+2,size_n+2);for row=1:size_mfor col=1:size_nmatrix_ex(row+1,col+1)=matrix_temp(row,col);endend%四邻域反填充 得水平线 matrix_new=matrix_temp;fo

6、r row=2:size_m+1for col=2:size_n+1if matrix_ex(row+1,col)=0 endendendsubplot(2,2,3);imshow(matrix_new,);title(图像的水平线); %imwrite(matrix_new,level_line.bmp);%求图像的等高线contour=zeros(size_m,size_n);for row=1:size_mfor col=1:size_nif image_input(row,col)=Ncontour(row,col)=1;endcontour(row,col)=1-contour(ro

7、w,col);endendsubplot(2,2,4);imshow(contour,);title(图像的等高线); %imwrite(contour,contour.bmp);level(I22_256.bmp,100)传 传 传传 传 传 传 传 传传 传 传 传 传 传传 传 传 传 传 传(2)function level_line_set(image_name)% 求一图像的阀值 N 取各值所对应的水平线的叠加 % 输入参数:image_name图像文件名image_input=imread(image_name); %不变量 size_m,size_n=size(image_in

8、put);%不变量matrix_out=zeros(size_m,size_n); %循环中不需重新初始化的变量% 输出矩阵初始化(白) for row=1:size_mfor col=1:size_nmatrix_out(row,col)=1; endendmatrix_ex=zeros(size_m+2,size_n+2); % 扩展矩阵subplot(1,2,1);imshow(image_input);title(原图像);for N=1:32:255 % N 为相应阀值matrix_temp=zeros(size_m,size_n); % 重新初始化 (黑)for row=1:siz

9、e_m for col=1:size_nif image_input(row,col) =Nmatrix_temp(row,col)=1; % 求水平集 endend end% 图像矩阵扩展 赋值 便于处理边界for row=1:size_mfor col=1:size_nmatrix_ex(row+1,col+1)=matrix_temp(row,col);endend% 四邻域(黑区域填白)反填充 得水平线matrix_new=matrix_temp;for row=2:size_m+1for col=2:size_n+1if matrix_ex(row+1,col)=0 % 填白ende

10、ndendmatrix_out=min(matrix_out,matrix_new); %各级水平线叠加 endmatrix_out(1,1)=0;matrix_out(2,1)=1;subplot(1,2,2);imshow(matrix_out,);title(图像部分水平集的叠加);level_line_set(I22_256.bmp)传 传 传传 传 传 传 传 传 传 传 传 传4Image=imread(I22_256.bmp);subplot(3,2,1);imshow(Image,); % 原图像title(原图像);subplot(3,2,2);imhist(Image);n

11、oise_g=imnoise(Image,gaussian,0,0.01); % 增加高斯白噪声 subplot(3,2,3);imshow(noise_g,); title(高斯白噪声);imwrite(noise_g,I22_256_g.bmp);subplot(3,2,4);imhist(noise_g);noise_s=imnoise(Image,salt subplot(3,2,5);imshow(noise_s,); title(黑白象素点噪声(椒盐); imwrite(noise_s,I22_256_s.bmp)subplot(3,2,6);imhist(noise_s);传 传

12、 传010000100200传 传 传 传 传0100020000100200传 传 传 传 传 传 传 (传 传 )0100001002005function aver_filter( Image_name,N,out_filename )%非线性平滑滤波器 G1 平均%输入参数 文件名 N 为模板大小(正奇数)%读取图像 if nargin0)N=t/0.1;elseN=(-t)/0.1% 每次叠代的步长为 0.1 end for index=1:N image_ex=matrix_expand(image_I); % 边界拓展 diff_two_order=zeros(size_r,si

13、ze_c);for row=2:size_r+1for col=2:size_c+1diff_two_order(row-1,col-1)=-4*image_ex(row,col)+image_ex(row-1,col)+image_ex(row+1,col)+image_ex(row,col-1)+image_ex(row-1,col+1);endend if(t0)image_I=image_I+0.1*diff_two_order;elseimage_I=image_I-0.1*diff_two_order;endimwrite( uint8(image_I),strcat(Heat_E

14、q_,num2str(index),.bmp);end cd(.)subplot(1,2,2);imshow(uint8(image_I);if t0title(热传导方程光滑后图像);elsetitle(Gabor 锐化后的图像); endimwrite( uint8(image_I),out_filename );% end%function matrix_ex=matrix_expand(matrix)% 对矩阵进行延拓 size_r,size_c=size(matrix);matrix_ex=zeros(size_r+2,size_c+2);% 中for row=1:size_rfor

15、 col=1:size_cmatrix_ex(row+1,col+1)=matrix(row,col);endend% 左,右for row=1:size_rmatrix_ex(row+1,1)=matrix(row,1);matrix_ex(row+1,size_c+2)=matrix(row,size_c);end% 上,下for col=1:size_cmatrix_ex(1,col+1)=matrix(1,col);matrix_ex(size_r+2,col+1)=matrix(size_r,col);endmatrix_ex(1,1)=matrix(1,1);matrix_ex(1,size_c+2)=matrix(1,size_c);matrix_ex(size_r+2,1)=matrix(size_r,1);matrix_ex(size_r+2,size_c+2)=matrix(size_r,size_c);% aver_filter(I22_256_g.bmp,5,averfilter_g.bmp)figureaver_filter(I22

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号