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);
}

标准求和积分结果:

平方求和积分结果:

倾斜求和积分结果:

相关推荐
星越华夏3 小时前
计算机视觉:YOLOv12安装环境
人工智能·yolo·计算机视觉
Yolanda944 小时前
【人工智能】《从零搭建AI问答助手项目(九):Prompt优化》
人工智能·prompt
wj3055853784 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
小和尚同志4 小时前
深入使用 skill-creator:结合真实生产级实践
人工智能·aigc
DevSecOps选型指南4 小时前
安全419专访悬镜安全 | 穿越周期在 AI 浪潮中定义数字供应链安全新范式
人工智能
沪漂阿龙4 小时前
面试题详解:GraphRAG 全面解析——知识图谱增强 RAG、Local Search、Global Search、社区摘要、工程落地与评估指标一次讲透
人工智能·知识图谱
WangN24 小时前
Unitree RL Lab 学习笔记【通识】
人工智能·机器学习
haina20195 小时前
海纳AI亮相《科创中国》,解码招聘“智”变之路
人工智能·ai面试·ai招聘
阿星AI工作室5 小时前
刘润年中大课笔记:一句话说清AI落地之战的本质
大数据·人工智能·创业创新·商业
qingfeng154155 小时前
企业微信机器人开发:如何实现自动化与智能运营?
人工智能·python·机器人·自动化·企业微信