报错“one of arguments value out of range in cvPtr2D”

       今天使用OpenGL输出三维重构的图像,并对其进行纹理贴图处理。

在调试Opencv程序的时候,突然报错个小错误:one of arguments value out of range in cvPtr2D。

博主的目的是想通过CvGet2D()函数获取彩色图像的RGB值,并进行对图像进行纹理贴图数据的时候;

为了贪方便 ,使用全局变量w和h访问图片当前位置的数值,因为只取原图src_dispwidth和height值,所以对src_rgb图进行提取纹理数据的时候,程序报错在当前位置。(当时就好奇,相同大小的矩阵数据居然报错,然后换成统一的src_rgb的w和h,居然就没错了。

所以w和h的值并不等于src_rgb图的值,所以后面cvSet2D就越界了,报错为:"one of arguments value out of range in cvPtr2D"。

PS:解决方法:博主本以为两图的矩阵大小是一样的,最后就好奇打印出来看下,发现原来是自己初始化图像数据矩阵写错了大小,粗心大意了。访问图像的时候,多加留意图像的大小为好,不然报个错出来,又提心吊胆。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值