怎么理解OpenCV的这句 p = I.ptr<uchar>(i); ?

以下是有关程序段:inti,j;uchar*p;for(i=0;i<nRows;++i){p=I.ptr<uchar>(i);for(j=0;j<nCols;++j){p... 以下是有关程序段:
int i,j;
uchar* p;
for( i = 0; i < nRows; ++i)
{
p = I.ptr<uchar>(i);
for ( j = 0; j < nCols; ++j)
{
p[j] = table[p[j]];
}
}
展开
 我来答
365988768
2015-05-11 · TA获得超过1089个赞
知道小有建树答主
回答量:295
采纳率:75%
帮助的人:280万
展开全部
图像第i行的头指针,通过这个指针结合列的位置(就是你代码中的j)可以很轻松操作图像改行的每一列。uchar是根据你图像数据的类型来的。。。
追问
那p = I.ptr(i);中的可不可以不要呢?的作用是什么呢?
追答
肯定不可以不要的,这个就像是模板,需要通过它来指定你当前mat中图像的数据类型,这样才能跟你外面定义的uchar* p吻合,这样才能正确的访问数据。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式