License Plate Localization
You should look gabor filter. You have to find best filter parametersfor detection plate character, and than you can optain all platesafter filtering. Than you can use standart morp. operations on theimage.
https://commerce.metapress.com/content/0f1a8wk9mcru0djd/resource-secured/?target=fulltext.pdf&sid=sswqda45miyw0i55iwfxto45&sh=www.springerlink.com
Cy-Clops Project target to create "Vision of the Machine". Please share your experience on trying Cy-Clops. Are there any particular features you'd love to have? Tell us! By sharing your experience and helping us to improve the Cy-Clops.
Showing posts with label OpenCV Tips'n Trick. Show all posts
Showing posts with label OpenCV Tips'n Trick. Show all posts
4/11/2009
License Plate Localization
[OpenCV] License Plate Localization
After detecting edges, you should apply morphological close operation. However,you should select kernel size considering the plate size. After that, you shouldapply connected component algorithm and filter very big and very small sizeobjects. Hence, the remaining objects are plate candidates which you can detectcharacters for each candidate.
Alper
After detecting edges, you should apply morphological close operation. However,you should select kernel size considering the plate size. After that, you shouldapply connected component algorithm and filter very big and very small sizeobjects. Hence, the remaining objects are plate candidates which you can detectcharacters for each candidate.
Alper
4/03/2009
Merging 2 Image
Hi,
a simple solution is:
You could initialize a new picture with the required dimensions, andcopy the data line for line, one after one from both pictures into thenew one.
Examplecode:
//Let's assume img1 and img2 are your 1024x768 grayscale-images of
// type IplImage
IplImage *combined = new IplImage;
CvSize size;
size.width=2048;
size.height=768;
combined = cvCreateImage(size, IPL_DEPTH_8U, 1);
for (int i = 0; i < (size.height-1); i++) { memcpy(&img3->imageData[i*img3->widthStep],&img1->imageData[i*img1->widthStep], img1->widthStep);
memcpy(&img3->imageData[i*img3->widthStep+img1->widthStep],&img2->imageData[i*img2->widthStep], img2->widthStep);
}
a simple solution is:
You could initialize a new picture with the required dimensions, andcopy the data line for line, one after one from both pictures into thenew one.
Examplecode:
//Let's assume img1 and img2 are your 1024x768 grayscale-images of
// type IplImage
IplImage *combined = new IplImage;
CvSize size;
size.width=2048;
size.height=768;
combined = cvCreateImage(size, IPL_DEPTH_8U, 1);
for (int i = 0; i < (size.height-1); i++) { memcpy(&img3->imageData[i*img3->widthStep],&img1->imageData[i*img1->widthStep], img1->widthStep);
memcpy(&img3->imageData[i*img3->widthStep+img1->widthStep],&img2->imageData[i*img2->widthStep], img2->widthStep);
}
Subscribe to:
Posts (Atom)