加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab卫星遥感图像处理道路提取(形态学)

(2011-07-30 10:23:53)
标签:

杂谈

function successtiqu
%此方法适用于图像直方图呈双峰的简单情形

%线性变换  使图像数据的动态范围与方差变大,增加图像的可解译性,亮度范围可以扩展到任意范围(遥感图像处理不能超过0—255)。
global str;
I=imread(str);
% subplot(2,2,1),
%imshow(I);
%title('原始图像');

J=rgb2gray(I);
% figure;
% imhist(J);  
% title('灰度直方图');                    % 观察灰度直方图


% axis([50,250,50,200]);
%
% axis on;                  %显示坐标系

% I1=rgb2gray(I);

% subplot(2,2,2),imshow(I1);

% title('灰度图像');

% axis([50,250,50,200]);
%
% axis on;                  %显示坐标系

% J=imadjust(I,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1]
%
% % subplot(2,2,3),
% figure;
% imshow(J);
%
% title('线性变换图像[0.1 0.5]');

% axis([50,250,50,200]);
%
% grid on;                  %显示网格线
%
% axis on;                  %显示坐标系

K=imadjust(J,[0.6 0.95],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1]


% figure;
% imshow(K);
% figure;
% imhist(K);
% title('线性变换图像[0.03 0.9]');
level = graythresh(K); 
I= im2bw(K,level);     %图像二值化
% figure;
% imshow(I);title('线性变换后阈值分割二值图');
% k1=medfilt2(I);            %进行3*3模板中值滤波

k2=medfilt2(I,[5,5]);      %进行5*5模板中值滤波

% k3=medfilt2(I,[7,7]);      %进行7*7模板中值滤波
%
% k4=medfilt2(I,[9,9]);      %进行9*9模板中值滤波
%figure;
%subplot(221),
%imshow(k1);title('3*3模板中值滤波');   %模板的尺寸总是奇数,例如3×3..
%figure;
%subplot(222),
%subplot(223),
%imshow(k3);title('7*7模板中值滤波');
%figure;
%subplot(224),
% %imshow(k4);title('9*9模板中值滤波');
% figure;
% imshow(k2);title('5*5模板中值滤波');
% imwrite(k2,'5×5中值滤波二值图.bmp');
% figure;imshow(k2);title('5*5模板中值滤波');
%
% imwrite(k2,'5*5模板中值滤波二值图.bmp');

%使用结构元素的形态开运算处理图 
se=strel('square',3);
H=imopen(k2,se);
% figure;
% imshow(H);title('3×3的结构元素的形态开运算处理图'); 
% imwrite(H,'3×3开运算.bmp');          %3*3的*是在中文状态输入的  不能这样 可以3×3  title里可以使用3*3
se=strel('square',5);
 H1=imopen(k2,se);
% figure;
% imshow(H1);title('5×5的结构元素的形态开运算处理图'); 
% imwrite(H1,'5×5开运算.bmp'); 

%line的结构元素的形态腐蚀处理图
se=strel('line',100,90);
A2=imerode(H,se);                      %作为形态重建中的标记图像
% figure;
% imshow(A2);title('line的结构元素的形态腐蚀处理图'); 

%标记图像和掩模图像进行形态重建运算
fobr=imreconstruct(A2,H1);
% figure;
% imshow(fobr);title('形态重建运算处理图'); 


%形态闭运算填补网络中的空缺,同时连接断点,得到修补的道路网络
se=strel('square',5);
fc=imclose(fobr,se);
% figure;
% imshow(fc);title('形态闭运算处理图'); 

%对形态重建后的道路网络信息进行形态细化
ginf=bwmorph(fc,'thin',4);  %inf表示调用bwmorph命令会重复该操作,直到图像停止改变为止
%figure;
imshow(ginf);
%title('形态细化运算处理图'); 
%imwrite(ginf,'形态细化后最终结果.tif');
end

 

http://s2/middle/5dd2e9274a9401abea8d1&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有