资源简介

高分辨率SAR图像高速公路快速检测方法,该方法基于高速公路的反射特性和形状特征,先对图像做二值化分割处理,统计每个暗区域的特征参数,删除形状复杂的区域,对道路边缘分段迭代直线拟合将道路区域从背景区域中检测出来

资源截图

代码片段和文件信息

x=imread(‘road1.png‘);
x=x(1:2031:203);
y=x;
%figure(1);
%imhist(x200);
%title(‘histogram of original image‘);
for i = 1:203;
    h(i) = sum(sum(x==i-1));
    end
    s = sum(h);
for i= 1:203;
    j= find(x==i-1);
    y(j)=sum(h(1:i))/s*203;
    end
%figure(2);
%imshow(x);
%figure(3);
%imshow(y);
%title(‘result of equalizition‘);
%figure(4);
%imhist(y200);
%title(‘histogram of result of histogram equalization‘);


%[name path]=uigetfile(y); %出现打开文件界面 
%filename=[path name];           %获取文件的路径与文件名
%I=rgb2gray(imread(filename)); %  读图并转化为黑白图片
%以下为阈值计算程序
Ni=imhist(y);%计算直方图数组
N=sum(Ni);   %总像素点个数
delamax=0;   %类间方差最大值
threshold=0; %阈值
for k=2:255
  u=dot([0:255]Ni/N); %图像的总平均灰度级
  w0=sum(Ni(1:k)/N);  %C0类像素所占面积的比例
  w1=1-w0;            %C1类像素所占面积的比例
  if w0==0|w0==1      %当w0为1或0时提前结束本次循环
     continue 
  end
  u0=dot([0:k-1]Ni(1:k)/N)/w0;   %C0类像素的平均灰度
  u1=dot([k:255]Ni(k+1:256)/N)/w1; %C1类像素的平均灰度
    dela(k)=w0*(u-u0)^2+w1*(u-u1)^2;  %类间方差公式
  %求出类间方差的最大值,最大时的那个值对应的k值存入delamax
  if dela(k)>delamax    
      delamax=dela(k);
      threshold=k-1;
  end
end
%以下为阈值分割程序
[widthheight]=size(y);%获取图片宽高
for i=1:width
    for j=1:height
        if(y(ij)            BW1(ij)=0;
        else
            BW1(ij)=1; % 灰度大于阈值时则为白色
        end
    end
end
figure(1);
imshow(BW1)title(‘自编程序运行结果‘)%显示图片
disp(‘自编程序求的的归一化阈值:‘)%显示提示信息
disp(threshold/255)              %显示结果
%调用系统函数OTSU阈值分割
level=graythresh(y);%调用系统函数计算阈值
BW2=im2bw(ylevel); %阈值分割
figure(2);
imshow(BW2)title(‘调用系统函数运行结果‘)
disp(‘调用库函数求得的归一化阈值:‘)
disp(level);

img0=BW2;se=strel(‘disk‘1);
img1=imerode(img0se);se=strel(‘disk‘2);
img2=imerode(img0se);se=strel(‘disk‘3);
img3=imerode(img0se);figure(3);
subplot(221);imshow(img0);title(‘original ima

评论

共有 条评论