Fix bugs in blob detector

When passing grayscale images by value, they can't be changed inside a
function. Also, fixed an infinite loop when more than 0 but less than 3
blobs were getting detected.

Signed-off-by: Milind Upadhyay <milind.upadhyay@gmail.com>
Change-Id: I5403d02aa9e3df07800791312f0e18ee81824868
diff --git a/y2022/vision/camera_reader.h b/y2022/vision/camera_reader.h
index 78abaa5..7c2cc9e 100644
--- a/y2022/vision/camera_reader.h
+++ b/y2022/vision/camera_reader.h
@@ -45,7 +45,7 @@
   const sift::CameraCalibration *FindCameraCalibration() const;
 
   // Processes an image (including sending the results).
-  void ProcessImage(const cv::Mat &image);
+  void ProcessImage(cv::Mat image);
 
   // Reads an image, and then performs all of our processing on it.
   void ReadImage();