|
不推荐求完整程序的方式,一来是可能性很小,二来是一旦求到了很可能就得过且过了,对自己的学习不好。
碰巧我手上有这么个程序,你可以参考一下,应该有帮助。- % This is a program for extracting objects from an image. Written for vehicle number plate segmentation and extraction
- % Authors : Jeny Rajan, Chandrashekar P S
- % U can use attached test image for testing
- % input - give the image file name as input. eg :- car3.jpg
- clc;
- clear all;
- k=input('Enter the file name','s'); % input image; color image
- im=imread(k);
- im1=rgb2gray(im);
- im1=medfilt2(im1,[3 3]); %Median filtering the image to remove noise%
- BW = edge(im1,'sobel'); %finding edges
- [imx,imy]=size(BW);
- msk=[0 0 0 0 0;
- 0 1 1 1 0;
- 0 1 1 1 0;
- 0 1 1 1 0;
- 0 0 0 0 0;];
- B=conv2(double(BW),double(msk)); %Smoothing image to reduce the number of connected components
- L = bwlabel(B,8);% Calculating connected components
- mx=max(max(L))
- % There will be mx connected components.Here U can give a value between 1 and mx for L or in a loop you can extract all connected components
- % If you are using the attached car image, by giving 17,18,19,22,27,28 to L you can extract the number plate completely.
- [r,c] = find(L==17);
- rc = [r c];
- [sx sy]=size(rc);
- n1=zeros(imx,imy);
- for i=1:sx
- x1=rc(i,1);
- y1=rc(i,2);
- n1(x1,y1)=255;
- end % Storing the extracted image in an array
- figure,imshow(im);
- figure,imshow(im1);
- figure,imshow(B);
- figure,imshow(n1,[]);
复制代码
[ 本帖最后由 sogooda 于 2008-4-18 15:39 编辑 ] |
-
评分
-
1
查看全部评分
-
|