دروود به همه
عزیزان تا اینجا اومدین ناحیه ای که پلاک در آن وجود دارد را مشخص کردین...خب حالا اگه بخواهیم عملیات بیشتری(مثل عملیات مورفولوژی) را فقط در همین ناحیه داشته باشیم چه باید کرد؟؟؟
برای این منظور؛ میتونید محیط انجمن رو جستجو و تاپـیـک های مـرتبـط رو مطالعه کنید .. :smile: .. پیروز یاشید ..
نوشته اصلی توسط mohamadreza.bizhani
دروود به همه
عزیزان تا اینجا اومدین ناحیه ای که پلاک در آن وجود دارد را مشخص کردین...خب حالا اگه بخواهیم عملیات بیشتری(مثل عملیات مورفولوژی) را فقط در همین ناحیه داشته باشیم چه باید کرد؟؟؟
دروود به همه
دوستان تو یکی از پست ها یه مقاله در مورد تشخیص پلاک رو اومدن به کمک آشکارسازی لبه و هیستگرام شبیه سازی کردن...به این صورت که بعد از بدست اوردن لبه های عمودی، اومدن تعدادد لبه در هر سطر را شمردن و هر سطری را که بیشترین لبه را داشته باشد به عنوان ناحیه کاندید برای پلاک در نظر گرفتن .اونا برنامه رو تا همین جا نوشتن وناحیه ای که احتمال وجود پلاک توش هست رو بدست اوردن(ممنون از کمکشون) و حالا من ازشما دوستای عزیز میخوام که کمکم کنین که بتونم بقیه برنامه رو بنویسیم....مشکلم تو این برنامه اینکه نمیونم چطور باید اون ناحیه ای رو که به عنوان کاندید در نطر گرفت رو استخراج کنم تا بتونم باقی عملیات رو روی ان انجام بدم :sad:
اینم برنامش:
کد:
clear;clc;close all
I = imread('C:\Users\reza\Desktop\2\HPIM0659.JPG');
p = rgb2gray(I);
p1 = imfilter(p, [-1 0 1]);
pf = im2bw(p1,graythresh(p1));
p22=im2double(pf);
p2=edge(p22,'sobel','vertical');
p3= sum(p2,2);
%
miny = 1; maxy = length(p3);
minx = 0; maxx = max(p3) + 10;
subplot(2,2,1)
colormap('default')
imagesc([minx maxx],[miny maxy],I);title('Original')
%freezeColors
subplot(2,2,2)
%colormap('Gray')
imagesc([minx maxx],[miny maxy],p);title('Grayscale')
%freezeColors
subplot(2,2,3)
colormap('Gray')
imagesc([minx maxx],[miny maxy],p2);title('Binary')
%freezeColors
subplot(2,2,4)
colormap('default')
imagesc([minx maxx],[miny maxy],flipud(p2));
hold on;barh(flipud(p3));title('Horiz Projection')
set(gca,'ydir','normal')
%
Hi = 0.55;
[in,IX]= sort(p3,'descend');
Ind = IX(round((1-Hi)*length(IX)):end); % non-top 55%
p3(Ind) = 0;
%
MinW = 15; MaxW = 35;
regs = hist_reg(p3);
remove = [];
for i=1:size(regs,1)
if regs(i,2)-regs(i,1)+1 < MinW || regs(i,2) - regs(i,1)+1 > MaxW
remove = [remove, i];
end
end
regs(remove,:) = [];
%
x = [minx,maxx];
subplot(2,2,3);hold on
for i = 1 : size(regs,1)
y = [regs(i,1),regs(i,1)];
line(x,y,'color','y')
y = [regs(i,2),regs(i,2)];
line(x,y,'color','r')
end
دیدگاه