DucK196

Untitled

May 31st, 2018
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.73 KB | None | 0 0
  1. clear all; close all;  clc;
  2. % First get yellow pixels only
  3.  
  4. files = dir('Plate_IMG/*.jpg');
  5. for file = files'
  6.     IM = imread(['Plate_IMG/', file.name]);
  7.        
  8.     IM_HSV = rgb2hsv(IM);
  9.     IM_HUE = IM_HSV(:, :, 1);
  10.     IM_SAT = IM_HSV(:, :, 2);
  11.     IM_MSK = (IM_HUE >= (30/360) & IM_HUE <= (65/360) & IM_SAT >= 0.3);
  12.  
  13.  
  14.     %figure(2*i);
  15.     %imshow(IM_MSK);
  16.     CC = bwconncomp(IM_MSK);
  17.     L = labelmatrix(CC);
  18.     stats = regionprops(L,'all');
  19.     ec_vec = [stats.Eccentricity];
  20.     [~, ind_ec] = find(ec_vec > 0.99 | ec_vec < 0.96);
  21.     struct_ec = CC.PixelIdxList(ind_ec);
  22.     ec_ind_rem = cell2mat(struct_ec');
  23.     IM_MSK(ec_ind_rem) = 0;
  24.    
  25.     %figure(3*i);
  26.     %imshow(IM_MSK);
  27.     se = strel('rectangle',[5, 5]);
  28.     IM_MSK = imfill(IM_MSK, 'holes');
  29.     IM_MSK = imerode(IM_MSK, se);
  30.     IM_MSK = imdilate(IM_MSK, se);
  31.     IM_MSK = imdilate(IM_MSK, se);
  32.     IM_MSK = imerode(IM_MSK, se);
  33.    
  34.    
  35.     CC2 = bwconncomp(IM_MSK);
  36.     L2 = labelmatrix(CC2);
  37.     stats2 = regionprops(L2,'all');
  38.     sol_vec = [stats2.Solidity];
  39.     [~, ind_sol] = find(sol_vec == 1 | sol_vec < 0.8);
  40.     struct_sol = CC2.PixelIdxList(ind_sol);
  41.     sol_ind_rem = cell2mat(struct_sol');
  42.     IM_MSK(sol_ind_rem) = 0;
  43.     %figure(4*i);
  44.     %imshow(IM_MSK);
  45.    
  46.     CC3 = bwconncomp(IM_MSK);
  47.     L3 = labelmatrix(CC3);
  48.     stats3 = regionprops(L3,'all');
  49.     area_vec = [stats3.Area];
  50.     [~, ind_area] = find(area_vec < max(area_vec));
  51.     struct_area = CC3.PixelIdxList(ind_area);
  52.     area_ind_rem = cell2mat(struct_area');
  53.     IM_MSK(area_ind_rem) = 0;
  54.    
  55.     %figure(5*i);
  56.     %imshow(IM_MSK);
  57.    
  58.     figure();
  59.     subplot(1, 2, 1);
  60.     imshow(IM);
  61.     subplot(1, 2, 2);
  62.     imshow(IM.*uint8(IM_MSK));
  63. end
Advertisement
Add Comment
Please, Sign In to add comment