【计算机视觉】【车辆识别】--Matlab实现
生活随笔
收集整理的這篇文章主要介紹了
【计算机视觉】【车辆识别】--Matlab实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
希望利用計算機自動計算出停車場車輛數目:
這里由于沒有參考背景圖,只有這一張,所以我采用的是對圖像二值化,腐蝕膨脹,并且對白車、棕車、黑車各有一個閾值,之后計算圖像域數量,則分別可以得到白車、黑車、棕車的數量,加在一起則是總數量,這里得到的結果是11.5輛。
clc; clear all I=imread('D:/作業1.png'); G=rgb2gray(I); % G=histeq(G); H=imhist(G); % bar(H); [a,b]=size(G); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%提取白車 G=G-100; for i=1:1:afor j=1:1:bif G(i,j)>=25G2(i,j)=1;elseG2(i,j)=0;end end end se1=strel('square',10); G4=imdilate(G2,se1); se1=strel('square',15); G4=imerode(G4,se1); XX=bwlabel(G4,8); white=max(max(XX))/2%%%%%%%%%%%%%兩個點為1個白車 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%提取黑車 G=rgb2gray(I); G=G+100; [a,b]=size(G); for i=1:1:afor j=1:1:bif G(i,j)<=150G1(i,j)=1;elseG1(i,j)=0;end end end se1=strel('square',20);%20 G4=imerode(G1,se1); se1=strel('square',35); %35 G5=imdilate(G4,se1); XX1=bwlabel(G5,8); black=max(max(XX1))-2%%%%%%%%%%%%%%減去兩個背景 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%提取棕車 G=rgb2gray(I); [a,b]=size(G); for i=1:1:afor j=1:1:bif G(i,j)<=100&&G(i,j)>=70G1(i,j)=1;elseG1(i,j)=0;end end end se1=strel('square',30); G4=imerode(G1,se1); se1=strel('square',30); G5=imdilate(G4,se1); XX2=bwlabel(G5,8); brown=max(max(XX2))-1%%%%%%%%%%%%減去中間背景點 XX3=XX1+XX2+XX; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%出圖 subplot 221 imshow(I) subplot 222 % X1=double(G)-XX*255; % imshow(X1/255)imshow(XX) subplot 223 imshow(XX1) % X2=double(G)-XX1*255; % imshow(X2/255) % imshow(XX1) subplot 224 % X3=double(G)-XX2*255; % imshow(X3/255)imshow(XX2) sum=white+black+brown11.5
總結
以上是生活随笔為你收集整理的【计算机视觉】【车辆识别】--Matlab实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel VBA 词根管理工具
- 下一篇: HRSP热备份路由协议(思科私有协议)