Reader small image

You're reading from  Learning OpenCV 3 Application Development

Product typeBook
Published inDec 2016
Reading LevelIntermediate
PublisherPackt
ISBN-139781784391454
Edition1st Edition
Languages
Tools
Right arrow
Author (1)
Samyak Datta
Samyak Datta
author image
Samyak Datta

Samyak Datta has a bachelor's and a master's degree in Computer Science from the Indian Institute of Technology, Roorkee. He is a computer vision and machine learning enthusiast. His first contact with OpenCV was in 2013 when he was working on his master's thesis, and since then, there has been no looking back. He has contributed to OpenCV's GitHub repository. Over the course of his undergraduate and master's degrees, Samyak has had the opportunity to engage with both the industry and research. He worked with Google India and Media.net (Directi) as a software engineering intern, where he was involved with projects ranging from machine learning and natural language processing to computer vision. As of 2016, he is working at the Center for Visual Information Technology (CVIT) at the Indian Institute of Information Technology, Hyderabad.
Read more about Samyak Datta

Right arrow

Integral image


We saw in the previous section that computing Haar features involves calculating the sum of pixel intensity values over arbitrary rectangular regions placed over various parts of the image. Now, the naive way to accomplish this would be to traverse the rectangular region of interest (using nested for loops) and compute the sum. Here is what you would typically write in C++ to implement such behavior:

int sumOfRectRegionNaive(Mat image, int x, int y, int height, int width) { 
    int sum = 0; 
for (int i = x; i < (x + height); ++i) { 
        for (int j = y; j < (y + width); ++j) 
            sum += image.at<uchar>(i, j); 
    } 
    return sum; 
} 

As you can see, the function that we have just defined takes the following inputs:

  • The image

  • The x and y coordinates of the upper-left corner of the rectangular region

  • The width and height of the rectangular region of interest

The function returns the sum of intensity values of all...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Learning OpenCV 3 Application Development
Published in: Dec 2016Publisher: PacktISBN-13: 9781784391454

Author (1)

author image
Samyak Datta

Samyak Datta has a bachelor's and a master's degree in Computer Science from the Indian Institute of Technology, Roorkee. He is a computer vision and machine learning enthusiast. His first contact with OpenCV was in 2013 when he was working on his master's thesis, and since then, there has been no looking back. He has contributed to OpenCV's GitHub repository. Over the course of his undergraduate and master's degrees, Samyak has had the opportunity to engage with both the industry and research. He worked with Google India and Media.net (Directi) as a software engineering intern, where he was involved with projects ranging from machine learning and natural language processing to computer vision. As of 2016, he is working at the Center for Visual Information Technology (CVIT) at the Indian Institute of Information Technology, Hyderabad.
Read more about Samyak Datta