OpenCV中Mat-哪位大虾帮忙看看,怎么老是报错啊

本文介绍了一个用于将原始图像转换为积分图的C++函数实现。该函数遍历输入图像的每个像素,通过累加操作生成积分图像,便于后续高效地进行矩形区域求和等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个将img转为积分图的函数,哪位大虾帮忙看一下,Mat的数据操作那个地方有错啊,郁闷?????

void createIntegralImage(Mat img)

{
uchar * img_data = img.data;
float * inteimgdata = (float *)integralImg.data;
int imgW = img.cols;
int imgH = img.rows;
int imgstep = img.step;
int instep = integralImg.step;
int insize = instep/integralImg.cols;


int t_d = *img_data;
* inteimgdata = t_d;
for (int i=1;i<imgH;i++)
{
t_d = *(img_data+i*imgstep);
*(inteimgdata + i*instep) = t_d + *(inteimgdata+(i-1)*instep);
}
for (int i=1;i<imgW;i++)
{
t_d = *(img_data+i);
*(inteimgdata + insize*i) = t_d + *(inteimgdata+insize*(i-1));
}

float t_d3,t_d4,t_d5,t_d2;
for (int i=1;i<imgH;i++)
{
for (int j=1;j<imgW;j++)
{
t_d = *(img_data+i*imgstep +j);
t_d3 = *(inteimgdata+(i-1)*instep + insize*j);
t_d4 = *(inteimgdata+i*instep +insize*(j-1));
t_d5 =  *(inteimgdata+(i-1)*instep + insize*(j-1));
t_d2 = t_d +t_d3 + t_d4 - t_d5;
*(inteimgdata + i*instep +insize*j) =t_d2;
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值