OpenCV(三十九):积分图像

1.积分图像介绍

积分图像中的每个像素表示了原始图像中对应位置及其左上方矩形区域内像素值的总和。如图,p0表示原始图像蓝色区域内像素值的总和。

倾斜求和(Skewed Sum)是积分图像的一种扩展形式,用于计算图像区域内的像素和,其中区域并不是矩形而是斜边形。通过倾斜求和的积分图像,可以在常量时间内计算任意斜边形区域内的像素和。。如图,p0表示原始图像灰色区域内像素值的总和。

2.计算积分图像函数integral()

void cv::integral ( InputArray src,

OutputArray sum,

OutputArray sqsum,

OutputArray tilted,

int sdepth = -1,

int sqdepth = -1

)

  • src:输入图像,图像数据类型可以是CV_8U、CV_32F或者CV_64。
  • sum:输出标准求和积分图像,图像的数据类型可以是CV_32S、CV_32F或者CV_64。
  • sqsum:输出平方求和积分图像,图像的数据类型可以是CV_32F或者CV_64F。
  • tilted:输出倾斜45°的倾斜求和积分图像,其数据类型与sum相同。
  • sdepth: 输出标准求和积分图像和倾斜求和积分图像的数据类型标志,可以选择的参数为CV _32S、CV_32F或者 CV_64F,参数默认值为-1,表示满足数据存储的自适应类型。
  • sqdepth: 输出平方求和积分图像的数据类型标志,可以选择的参数为CV_32F或者 CV_64F,参数默认值为-1,表示满足数据存储的自适应类型。

3.示例代码

复制代码
void  Integral_image(){
    //创建一个16×16全为1的矩阵,因为256=16×16
    Mat img=Mat::ones(16,16,CV_32FC1);
    //在图像中加入随机噪声
    RNG rng(10086);
    for(int y=0;y<img.rows;y++){
        for(int x=0;x<img.cols;x++){
            float d=rng.uniform(-0.5,0.5);
            img.at<float>(y,x)=img.at<float>(y,x)+d;
        }
    }
    //计算标准求和积分
    Mat sum;
    integral(img,sum);
    //为了便于显示,转成CV_8U格式
    Mat sum8U=Mat_<uchar>(sum);
    imwrite("/sdcard/DCIM/sum8U.png",sum8U);

    //计算平方求和积分
    Mat sqsum;
    integral(img,sum,sqsum);
    //为了便于显示,转成CV_8U格式
    Mat sqsum8U=Mat_<uchar>(sqsum);
    imwrite("/sdcard/DCIM/sqsum8U.png",sqsum8U);
    //计算倾斜求和积分
    Mat tilted;
    integral(img,sum,sqsum,tilted);
    //为了便于显示,转成CV_8U格式
    Mat tilted8U=Mat_<uchar>(tilted);
    imwrite("/sdcard/DCIM/tilted8U.png",tilted8U);
}

标准求和积分结果:

平方求和积分结果:

倾斜求和积分结果:

相关推荐
“αβ”5 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
十五年专注C++开发5 小时前
Asio2: 一个基于 Boost.Asio 封装的高性能网络编程库
网络·c++·boost·asio·asio2
gcfer5 小时前
CS144 中的C++知识积累
c++·右值引用·智能指针·optional容器
新知图书5 小时前
FastGPT简介
人工智能·ai agent·智能体·大模型应用开发·大模型应用
Dev7z6 小时前
基于Matlab卷积神经网络的交通警察手势识别方法研究与实现
人工智能·神经网络·cnn
元拓数智6 小时前
IntaLink:破解数仓建设痛点,重塑高效建设新范式
大数据·数据仓库·人工智能·数据关系·intalink
Bona Sun6 小时前
单片机手搓掌上游戏机(二十)—pico运行doom之编译环境
c语言·c++·单片机·游戏机
区块链小八歌7 小时前
从电商收入到链上资产:Liquid Royalty在 Berachain 重塑 RWA 想象力
大数据·人工智能·区块链
沃达德软件7 小时前
大数据反诈平台功能解析
大数据·人工智能