1. 程式人生 > >積分圖原理及實現

積分圖原理及實現

1、積分圖(integral image)

積分影象是一種在影象中快速計算矩形區域和的方法,這種演算法的主要優點是一旦積分影象首先被計算出來,我們就可以在常量時間內計算影象中任意大小矩形區域的和。這樣在影象模糊、邊緣提取、物件檢測的時候極大降低計算量、提高計算速度。
積分圖中任意一點(x,y)的值等於灰度圖的左上角與當前點所圍成的矩形區域內所有畫素點灰度值之和。(下左圖藍色虛線框部分)
在這裡插入圖片描述在這裡插入圖片描述

2、計算出來的積分圖顯示(計算後的直方圖歸一化後再轉8位精度得到)

integral_image(YFrame.data, width, height,  (float)integral_img.data);
//計算積分圖,為了opencv能顯示才轉為float*,實際使用是不用(實際是int*)

//顯示積分圖新增的操作 
normalize(integral_img, integral_img, 0, 255, CV_MINMAX);
Mat imageIntegralNorm;
convertScaleAbs(integral_img, imageIntegralNorm); //精度轉換為8位int整型
imshow("integral_img", imageIntegralNorm);

在這裡插入圖片描述

3、demo

4、參考:

http://www.cnblogs.com/chenpi/p/5128231.html
https://blog.csdn.net/xiaowei_cqu/article/details/17928733
http://www.cnblogs.com/Imageshop/p/6219990.html
https://blog.csdn.net/bflong/article/details/80446419