Detect logos on a webpage

asked 2014-10-22 02:22:27 -0500

teherty gravatar image

updated 2018-09-03 14:07:24 -0500

Hi, I have a problem with detecting logos on page. So far I've tried to get screenshot of webpage and work with it but i found downloading all images separately and working with them one by one to be better solution. Since my logo templates are mostly not rotated but may be different sizes I've decided to use SIFT. Currently I'm getting a lot of mismatches. I've been thinking about binarizing image since in logos the shape is the most important

image description

image description

(second in row is visa logo)

Have anyone did similar project and can share some experience? Any improvement will do.

edit retag flag offensive close merge delete


Yes I would think binarization would help. So is filtering based on color, as trademark logos must follow some predefined color-branding rules which makes their color specific and easily recognizable. Have you tried contour descriptors?

rwong gravatar imagerwong ( 2014-10-22 03:03:47 -0500 )edit

As soon as a rough match (such as the "one true positive among a sea of false positives") is found, use OpenCV template matching to rule out the false positives.

rwong gravatar imagerwong ( 2014-10-22 03:05:45 -0500 )edit

You can rule out false positives by trying to compute the homography/affine transform using the matches, mapping the source image to the destination image with RANSAC (OpenCV provides such method). If the method fails or the mapped region is too weird (not respecting the logo proportions, very distorted,etc), you discard it. If the homography is good, you can them try to use a template matching approach to see if it is really the logo.

R.Saracchini gravatar imageR.Saracchini ( 2014-10-22 03:46:32 -0500 )edit

Have you found any solution to this problem? I have the issue that the image may be integrated into the background etc so it will not simply be an image and I think the logo is the only solution

kabeersvohra gravatar imagekabeersvohra ( 2018-01-16 11:31:37 -0500 )edit