在看图像处理的相关文献时看到了图像积分(integral image)这个方法,觉得挺有意思的,于是就动手实现了这个算法,实现的可能还不够优化 ^_^
对于图像积分概念,下面这篇博客解释的比较详细:
http://blog.163.com/pz124578@126/blog/static/23522694201332752444805/
在这,我就不具体阐述了其过程了,有兴趣的可以看看上面的博客内容
下面是matlab实现的代码:
function Inte_img = Integral_Image(matrix)
[row,column] = size(matrix); % 获取行row,列column
newMatrix = zeros(row,column); % newMatrix为积分图像后的举证
sum = 0; % 作为临时变量使用
%% 单个数值
if row == 1 && column == 1
newMatrix = matrix;
end
%% 判断是行向量或者列向量
if row == 1 || column == 1
%如果是列向量
if column == 1 && row ~=1
for k = 1: row
sum = sum + matrix(k ,colum