【问题标题】:Road and vehicle detection from aerial images从航拍图像中检测道路和车辆
【发布时间】:2016-05-12 14:44:09
【问题描述】:

我目前正在使用 MATLAB 从航空/卫星图像中检测道路/高速公路。我已经根据道路及其周围环境价值的强度差异的概念编写了相同的代码。但是效率并不是很高,因为它也在检测非道路实体。除此之外,我还将检测这些道路上的车辆,然后尝试计算道路的宽度。您能否帮助我改进我目前的方法或建议一种新方法?

提前致谢! :)

我已附上我的 MATLAB 代码以供审核。

clc
clear all
close all

a=rgb2gray(imread('freeway24.tif'));

a2=mean(a);
t=min(a2);

b=lt(a,t);
[row_b, column_b]=size(b);

for i=1:row_b
for j=1:column_b
    if b(i,j)~=1
        b(i,j)=0;
    else
        b(i,j)=255;
    end
end
end

bw0=bwareaopen(b,50);
bw1=bwmorph(bw0,'clean');
bw2=bwmorph(bw1,'majority');
bw3=bwmorph(bw2,'fill');
bw4=imfill(bw3,'holes');

[row_final,column_final]=size(bw4);
bw_final=zeros();
for i=1:row_final
for j=1:column_final
    if bw4(i,j)==1
        bw_final(i,j)=a(i,j);
    else
        bw_final(i,j)=0;
    end
end
end

subplot(1,2,1);
imshow(a);
title('Original Image');
subplot(1,2,2);
imshow(bw_final);
title('After detection');

注意:由于我没有 10 个声望点,我无法发布输入图像。我在这里上传了图片的链接。 https://drive.google.com/open?id=0B0MIQKh4Irk8MVlXYnhIcmpxTG8

【问题讨论】:

    标签: matlab image-processing detection


    【解决方案1】:

    我建议你更多地学习计算机视觉,尤其是这些 matlab 函数:imcloseimerodeimdilatebwareaopen。 下面提供了一个可以帮助您的代码。您只需在最后一个 imshow 之前添加它。

    % Calculate disk of radius 2 pixels, 4 pixels diameter
    se = strel('disk', 2);
    % Connect the white pixels that are less than 4 pixels apart
    bw_final = imclose(bw_final, se);
    % Connect the black pixels that are less than 4 pixels apart
    bw_final = ~imclose(~bw_final, se);
    
    % Calculate 2% of the image pixels
    num2Percent = round(numel(bw_final)/50);
    % Remove white area smaller than 2%
    bw_final = bwareaopen(bw_final, num2Percent);
    % Remove black area smaller than 2%
    bw_final = ~bwareaopen(~bw_final, num2Percent);
    

    【讨论】:

    • 一定会阅读这些内容的!感谢您的帮助!但这消除了高速公路上的车辆。我需要将单个车辆检测为斑点,以便检测它们的宽度。有什么建议吗?
    • 哦,我以为你想移除车辆,抱歉。只需删除代码行“删除小于 2% 的白色区域”。如果有帮助,请标记为答案并点赞:)
    • 工作正常!非常感谢!是的,会竖起大拇指!
    • 有什么方法可以检测这些单独检测到的汽车并计算它们的属性吗?像对待某种斑点一样对待它们?
    • bwlabel 将为图像中的每个白色“斑点”关联一个数字,因此您可以决定仅分析标签#3 或标签#7...您应该找到有关计算机视觉的教程,使用MATLAB。 “mathworks.com/help/images/ref/bwlabel.html”。
    猜你喜欢
    • 2020-05-08
    • 1970-01-01
    • 2012-07-13
    • 2017-12-16
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2014-07-03
    相关资源
    最近更新 更多