Book Image

iOS Application Development with OpenCV 3

By : Joseph Howse
4 (1)
Book Image

iOS Application Development with OpenCV 3

4 (1)
By: Joseph Howse

Overview of this book

iOS Application Development with OpenCV 3 enables you to turn your smartphone camera into an advanced tool for photography and computer vision. Using the highly optimized OpenCV library, you will process high-resolution images in real time. You will locate and classify objects, and create models of their geometry. As you develop photo and augmented reality apps, you will gain a general understanding of iOS frameworks and developer tools, plus a deeper understanding of the camera and image APIs. After completing the book's four projects, you will be a well-rounded iOS developer with valuable experience in OpenCV.
Table of Contents (13 chapters)
iOS Application Development with OpenCV 3
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface
Index

Defining blobs and a blob detector


For our purposes, a blob simply has an image and label. The image is cv::Mat and the label is an unsigned integer. The label's default value is 0, which shall signify that the blob has not yet been classified. Create a new header file, Blob.h, and fill it with the following declaration of a Blob class:

#ifndef BLOB_H
#define BLOB_H

#include <opencv2/core.hpp>

class Blob
{
public:
  Blob(const cv::Mat &mat, uint32_t label = 0ul);
  
  /**
   * Construct an empty blob.
   */
  Blob();
  
  /**
   * Construct a blob by copying another blob.
   */
  Blob(const Blob &other);
  
  bool isEmpty() const;
  
  uint32_t getLabel() const;
  void setLabel(uint32_t value);
  
  const cv::Mat &getMat() const;
  int getWidth() const;
  int getHeight() const;
  
private:
  uint32_t label;
  
  cv::Mat mat;
};

#endif // BLOB_H

The image of Blob does not change after construction, but the label may change as a result of our classification process. Note...