失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > opencv2中访问像素的简单方法-自定义一个宏CV_MAT_ELEM2

opencv2中访问像素的简单方法-自定义一个宏CV_MAT_ELEM2

时间:2023-01-16 02:54:09

相关推荐

opencv2中访问像素的简单方法-自定义一个宏CV_MAT_ELEM2

利用Mat的step[0],step[1]访问像素的行列,自定义一个宏CV_MAT_ELEM2(src,dtype,y,x),src是待访问的Mat,dtype是src的数据类型(int,float,char等),

访问像素位置是y行、x列。

宏定义如下:

#define CV_MAT_ELEM2(src,dtype,y,x) (dtype*)(src.data+src.step[0]*y+src.step[1]*x)

演示代码如下所示:

#include <iostream>#include <opencv2/opencv.hpp>#define CV_MAT_ELEM2(src,dtype,y,x) \(dtype*)(src.data+src.step[0]*y+src.step[1]*x)using namespace cv;using namespace std;int main(){float a[]={1,2,3,4,5,6,7,8,9};Mat mat2=Mat(3,3,CV_32F,a);Mat mv[]={mat2,mat2,mat2};Mat pp;merge(mv,3,pp);float* em=CV_MAT_ELEM2(pp,float,2,2);cout<<em[0]<<","<<em[1]<<","<<em[2]<<endl;return 0;}

如果觉得《opencv2中访问像素的简单方法-自定义一个宏CV_MAT_ELEM2》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。