پاسخ داده شده: تشخیص تابلو های راهنمایی در تصاویر شلوغ
ممنون اقا مصطفی من فقط میخوام محل تابلو مشخص بشه همین دسته بندی نمیخوام بکنم
این عکسیه که الگوریتم نمیتونه شناسایی کنه
اینم کد متلبش
%Calling the original image
f = imread('C:UsersSHAHRIARDesktopdip1.jpg');
%Resizing to a desired size
F=imresize(f, [500 NaN]);
figure;imshow(F);title('the original image')
%Converting the RGB to Grayscale image
I = rgb2gray(F);
%Defining and applying the Sobel filter to extract the edges
horizontal_sobel_mask = fspecial('sobel');
vertical_sobel_mask = horizontal_sobel_mask';
edges = imfilter(I, vertical_sobel_mask, 'replicate');
figure;imshow(edges);title('Edges')
%Converting the Grayscale to Binary image
BW_edges = im2bw(edges, 0.99);
figure;imshow(BW_edges);title('Binary edges')
%Eliminating the noise and too small details
im1 = bwareaopen(BW_edges,30);
figure;imshow(im1);title('Eliminating Small Detail')
%Thickening the edges by dilation
SE1 = ones(3,3);
dilated_edges = imdilate(im1,SE1);
figure;imshow(dilated_edges);title('Dilated edges')
%Eliminating very large objects
im2 = dilated_edges - bwareaopen(dilated_edges,1000);
figure;imshow(im2);title('Eliminating Too Large Objects')
%Filling the gaps by closing
SE2 = ones(1,50);
im3 = imclose (im2,SE2);
figure;imshow(im3);title('Connecting Neigbor Objects')
%Choosing the best candidate for plate region
im4 = bwareaopen(im3,4500,4)-bwareaopen(im3,8500,4);
figure;imshow(im4);title('Choosing The Plate Candidate')
%Extracting the plate region
[row,column]=find(im4==1);
[m,n]=size(im4);
a=min(row);b=min(column);c=max(row);d=max(column);
plate_region = F(a:c,b:d,1:3);
figure;imshow(plate_region);title('Plate Region')