Ask Your Question
0

How to delete a QR CODE white margins?

asked Feb 25 '14

smilencetion gravatar image

Hi,I'm new to OpenCV, is there a way to delete a QR CODE white margins?thx

just like from

image description
to

image description

Preview: (hide)

1 answer

Sort by » oldest newest most voted
2

answered Feb 25 '14

Haris gravatar image

updated Feb 25 '14

  1. Create a mask image for the area to be cropped

image description

2.Find the bounding box for mask, you should do the following

image description

3.Crop the source using bound rect.

image description

Code:

   Mat src=imread("barcode.png",1);
   Mat thr,gray;
   cvtColor(src,gray,CV_BGR2GRAY);
   threshold( gray, thr, 50, 255, CV_THRESH_BINARY_INV );


   Size kernalSize (21,21);
   Mat element = getStructuringElement (MORPH_RECT, kernalSize, Point(1,1)  );
   morphologyEx( thr, thr, MORPH_CLOSE, element );

   vector< vector <Point> > contours;
   vector< Vec4i > hierarchy;
   findContours( thr, contours, hierarchy,CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE );
   Rect ROI=boundingRect(contours[0]); //Contour size  should bealways 1

   Mat crop=src(ROI);
   imwrite("crop.jpg",crop);
Preview: (hide)

Comments

excellent,ty so much

smilencetion gravatar imagesmilencetion (Feb 25 '14)edit

@smilencetion, so mark it as solved !

berak gravatar imageberak (Feb 25 '14)edit

Question Tools

Stats

Asked: Feb 25 '14

Seen: 1,264 times

Last updated: Feb 25 '14