how to scan image for specific pattern

5 views (last 30 days)
genesis
genesis on 28 Oct 2013
Commented: Anand on 28 Oct 2013
i want to scan a binary image row by row for a consistent pattern of black:white:black:white:black to the scale of 1:1:3:1:1 pixels respectively. i want to use it for QR code scanning. something like this

Answers (2)

Anand
Anand on 28 Oct 2013
Use normalized cross correlation (NCC) provided by the normxcorr2 function.
You can try something like this:
%the pattern you're looking for is B W B B B W B
template = logical([0 1 0 0 0 1 0]);
%find NCC of template with image BW
cc = normxcorr2(template,BW);
Then find peaks in cc to locate co-ordinates of the pattern.
  2 Comments
Image Analyst
Image Analyst on 28 Oct 2013
Edited: Image Analyst on 28 Oct 2013
I thought of that first also but then I realized that it wouldn't work if the QR bar code in the image isn't the same size and pattern as the pattern he's searching for. I believe he wants to locate any QR code, not just some code of a pattern and size that is known in advance. So if he can't specify in advance what to look for then he'll have to look to texture segmentation. Or else search the literature for papers like I mentioned in my comment.
Anand
Anand on 28 Oct 2013
Yes, I agree. Bur since genesis mentioned that the scale specifically as 1:1:3:1:1 "pixels" I thought he might know more about his image data.

Sign in to comment.


Image Analyst
Image Analyst on 28 Oct 2013
Try using stdfilt() to look for areas of high texture in the image.
  1 Comment
Image Analyst
Image Analyst on 28 Oct 2013
You might try this:
Kato, Y.[Yuji], Deguchi, D.[Daisuke], Takahashi, T.[Tomokazu], Ide, I.[Ichiro], Murase, H.[Hiroshi], Low Resolution QR-Code Recognition by Applying Super-Resolution Using the Property of QR-Codes, ICDAR11(992-996).
By the way, if you do want to play around with normxcorr2 (which probably won't work in your situation) you can try the demo I attached below.

Sign in to comment.

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!