matlab图像定位分割,車牌定位matlab程序:通過hsv彩色分割方式定位車牌

最近看了《基於數字圖像處理的車牌識別研究》這篇論文,對車牌識別知識講的很仔細,推薦。

1.(摘自《基於數字圖像處理的車牌識別研究》)

通過對大量車牌圖像的分析,可以發現對於具有某種目標色的像素,可以直接通過對H、s、v三分量設定一個范圍來把它們過濾出來,無需進行較復雜的色彩距離計算, 這樣可以在色彩分割時節省大量的時間。這種過濾對藍色和黃色車牌特別有效,但對於黑色和白色的過濾效果不是很理想。這是因為對於純色的黑色和白色,它們的色調和飽和度沒有意義,所以和其它顏色相比缺少了兩個過慮指標。

根據這篇論文所講的步驟想要寫程序,開始居然是無從下手。通過參考各種車牌識別matlab程序,才寫出來第一個程序。此程序是針對藍色車牌的識別,識別效果還不錯,通過HSV顏色空間分割確實可行。

通過先驗知識,汽車車牌的HSV值可由下表確定:

5f9168f0974864c19b5eb287356701ce.png

2.藍色車牌HSV彩色分割定位Matlab程序:

clear all;clc;

[Im,Path]=uigetfile('*jpg','選擇圖片');

Image=imread([Path,Im]);

Image=im2double(Image);

s=size(Image,2)

I=rgb2hsv(Image);

[y,x,z]=size(I);

Blue_y = zeros(y, 1);

p=[0.56 0.71 0.4 1 0.3 1 0];

for i = 1 : y

for j = 1 : x

hij = I(i, j, 1);

sij = I(i, j, 2);

vij = I(i, j, 3);

if (hij>=p(1) && hij<=p(2)) &&( sij >=p(3)&& sij<=p(4))&&...

(vij>=p(5)&&vij<=p(6))

Blue_y(i, 1) = Blue_y(i, 1) + 1;

end

end

end

[~, MaxY] = max(Blue_y);

Th = p(7);

PY1 = MaxY;

while ((Blue_y(PY1,1)>Th) && (PY1>0))

PY1 = PY1 - 1;

end

PY2 = MaxY;

while ((Blue_y(PY2,1)>Th) && (PY2

PY2 = PY2 + 1;

end

PY1 = PY1 - 2;

PY2 = PY2 + 2;

if PY1 < 1

PY1 = 1;

end

if PY2 > y

PY2 = y;

end

It=Image(PY1:PY2,:,:);

subplot(231),imshow(It);

IY = I(PY1:PY2, :, :);

subplot(232),imshow(IY);

I2=im2bw(IY,0.5);

subplot(233),imshow(I2);

[y1,x1,z1]=size(IY);

Blue_x=zeros(1,x1);

for j = 1 : x1

for i = 1 : y1

hij = IY(i, j, 1);

sij = IY(i, j, 2);

vij = IY(i, j, 3);

if (hij>=p(1) && hij<=p(2)) &&( sij >=p(3)&& sij<=p(4))&&...

(vij>=p(5)&&vij<=p(6))

Blue_x(1, j) = Blue_x(1, j) + 1;

% bw1(i, j) = 1;

end

end

end

PY1,PY2

[~, MaxX] = max(Blue_x);

Th = p(7);

PX1 = MaxX;

while ((Blue_x(1,PX1)>Th) && (PX1>0))

PX1 = PX1 - 1;

end

PX2 = MaxX;

while ((Blue_x(1,PX2)>Th) && (PX2

PX2 = PX2 + 1;

end

Ita=Image(PY1:PY2,PX1:PX2,:);

subplot(234),imshow(Ita);

IX = I(PY1:PY2, PX1:PX2, :);

subplot(235),imshow(IX);

I3=im2bw(IX,0.5);

subplot(236),imshow(I3);

3.效果展示

(1)

403e3b2053ea3b307c7e73cb37a1bd77.png

5cf17fa87784c4f3f21cd7426d08d265.png

(2)

03280c7c68928e4cd8249bf7d495efc7.png

f5f1a7a235c064d80c938d7a6ec9c2a2.png

(3)

c4ac5308b849cc3fd732ff00f95a574f.png

ac0e6320f4b2e54c72e87c0fb23a50bb.png

不過改進空間還是很大,對於藍色車輛、深藍色車輛以及圖片中藍色較多的圖片,識別效果還是不行。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值