0
点赞
收藏
分享

微信扫一扫

opencv(四十八)积分图像

infgrad 2022-03-17 阅读 71

小白学视觉,笔记,扩展
在这里插入图片描述

在这里插入图片描述

#include <opencv2\opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
//创建一个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);
namedWindow("sum8U", WINDOW_NORMAL);
imshow("sum8U", sum8U);

//计算平方求和积分
Mat sqsum;
integral(img, sum, sqsum);
//为了便于显示,转成CV_8U格式
Mat sqsum8U = Mat_<uchar>(sqsum);
namedWindow("sqsum8U", WINDOW_NORMAL);
imshow("sqsum8U", sqsum8U);

//计算倾斜求和积分
Mat tilted;
integral(img, sum, sqsum, tilted);
//为了便于显示,转成CV_8U格式
Mat tilted8U = Mat_<uchar>(tilted);

namedWindow("tilted8U", WINDOW_NORMAL);
imshow("tilted8U", tilted8U);

waitKey();
return 0;
}

16×16全为1的矩阵,
和加噪声后的图
在这里插入图片描述

标准求和积分
平方求和积分
倾斜求和积分

平方求和积分增长速度最快,
标准求和积分和平方求和积分,左上数值小,右下角大;
倾斜求和积分,呈金字塔状

在这里插入图片描述
用image watch 查看

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论