中易网

opencv中这句话uchar* ptr = (uchar*)(pFrImg->imageData + x * pFrImg->widthStep);是什么意思?

答案:2  悬赏:60  
解决时间 2021-03-06 06:45
opencv中这句话uchar* ptr = (uchar*)(pFrImg->imageData + x * pFrImg->widthStep);是什么意思?
最佳答案
pFrImg->imageData应该是指向一片数据区的地址,
+ x*pFrImg->widthStep,就是从地址向后移动 x * pFrImg->widthStep 个单元,每个单元的大小要看imageData的指针类型

最后把移动后的地址强制转换成uchar*
全部回答
你应该是刚学opncv吧,widthstep是指图像每行所占的字节数,主要要和width区别,width是指每行所含的像素个数,但是一个像素也可能占一个字节,也可能占三个字节或者四个。imagedata是指向存储图像像素值数组的指针,内容是这个数组的首地址,pt.y指的是像素点的行坐标,所以img->imagedata + img->widthstep*pt.y便是该像素点所在行的首地址,然后再加上该像素点所在的列,即pt.x,就得到了该像素点的地址,所以你的那句代码也可以写成 ((uchar*)(img1->imagedata + img1->widthstep*pt.y+pt.x)),都是指该像素点的像素值,至于强制类型转换,是因为会产生一些负值,而像素值是不能为负的。不用加分,希望能帮到你。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么型号的手机能在韩国用?
我是香港身份证的在深圳什么中学读书?
闪电泡芙在哪里啊,我有事要去这个地方
有谁去4s店换过速腾平衡杆连杆价格多少
求翻译,原文是这样的”郭隗先生曰:”成闻古
大家说说在床上.男人最怕女人说哪句话.女人又
我手机是红米not,手机蓝牙和蓝牙耳机都打开
中午睡午觉好吗
中国移动4g流量王每月会不会清零
江苏夏阳电气有限公司怎么去啊,有知道地址的
北京哪里有卖丙烯颜料的?一般都多少钱?
加拿大四季对应那些月份
一个人关机是什么情况
博望镇农民工创业园地址有知道的么?有点事想
去鞍山市高新区绿色智慧城附近万科中心广场怎
推荐资讯
爱诗伦思纤体减肥养生股馆海宁店我想知道这个
定做广告衫需要注意哪些?
<关于莉莉周的一切>所有音乐和中文歌词
求gl小说,像是重生之末日生存gl那样的末日文
西苑佳居南门我想知道这个在什么地方
电影《幻体:续命游戏》百度云高清下载
按照现代财务制度的规定,哪些费用可以列入成
lol大发明家什么技能可以把小兵强化
中国大学综合排名
78M05是NPN管吗
凤林南路/龙资路(路口)地址在哪,我要去那里
东北延边语言和韩语的区别东北延边语言和韩语
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?