in function: vector<Vec3d> QRDetect::searchHorizontalLines() should change line: for (size_t i = 2; i < pixels_position.size() - 4; i+=2) to be: for (size_t i = 2; i < pixels_position.size() - 2; i+=2)