转自:http://hi.baidu.com/wangruiy01/blog/item/041ab03e8abd33c57d1e71a0.html
CV_IMAGE_ELEM是一个宏,
#define CV_IMAGE_ELEM( image, elemtype, row, col ) /
(((elemtype*)((image)->imageData + (image)->widthStep*(row)))[(col)])
#define CV_MAT_ELEM( mat, elemtype, row, col ) /
(*(elemtype*)CV_MAT_ELEM_PTR_FAST( mat, row, col, sizeof(elemtype)))
呵呵,我一直把它当一个函数用,其实本质也没有什么区别的
但要想正确的得到图像的坐标为(x,y)点的像素值,是应该这样写CV_IMAGE_ELEM(Image, uchar, y, x)
要注意像素点的坐标xy和行列值的顺序是相反的(可以仔细思考为什么)
我刚开始一直写成CV_IMAGE_ELEM(Image, uchar, x, y),结果有时候就造成了访问image越界,从而报错,花了好长时间才捣鼓出来,
不过将IMAGE的数据按照原来的样子复制到mat中可以这么写:
CV_IMAGE_ELEM(pImage, uchar, i, j) = CV_MAT_ELEM(*mat, uchar, i, j)
不用改变顺序
总之,当应用这个宏是如果老报错,就试试换个顺序,或者检查访问的地址是否越界
分享到:
相关推荐
CV_IMAGE_ELEM( pImg2, uchar, i, j*3 + 0 )=CV_IMAGE_ELEM( pImg1, uchar, i, j*3 + 0 )/2+CV_IMAGE_ELEM( pImg2, uchar, i, j*3 + 0 )/2; CV_IMAGE_ELEM( pImg2, uchar, i, j*3 + 1 )=CV_IMAGE_ELEM( pImg1, ...
爬取饿了么首页,基于Python的scrapy实现爬取饿了么首页信息,代码有一定缺陷,敬请大佬指点萌新
Wordpress Author Box plugin for Elementor
<div class="demo__elem demo__elem-2">一列的图文混排布局 <div class="demo__elem demo__elem-3">两列的图文混排布局 <span class="demo__hover demo__hover-1"> <span class="demo__hover demo__hover...
| 构造: CircleBuffer<类型名> //构造时可选参数环形缓冲区大小,默认65535个元素 | 插入环形缓冲区:bool CircleBuffer<类型名>::push(Elem) //将Elem插入到缓冲区尾部,若缓冲区已满则返回false | 取出首元素...
由sin函数和sin函数平方竞争拟合了矩阵波函数,可以通过提高训练次数改变拟合效果
压缩包内有两个函数,X2Elem的作用是将直角坐标转换为轨道根数,Elem2X作用是将轨道根数转换为直角坐标
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
oracle erp各模块表关系,搞ORACLE二次开发或实施的人员可以下载看看
1.使用cc_ecef_land2right将(lat2, lon2, 0)转换为空间直角坐标(x2, y2, z2),坐标系参数使用宏DECL_CSPARA_ARRAY_ELEM声明,宏参数a=6378137,f=1.0/298.257223563,omgedot=7.2921151467e-5 2.以(lat1, lon1)为计算...
<div class="demo__elem demo__elem-1">简约的多文字布局 <div class="demo__elem demo__elem-2">一列的图文混排布局 <div class="demo__elem demo__elem-3">两列的图文混排布局 <span class="demo__...
视频教程
ElemType *p_elem=L.elem; for(i=0;i;i++) { *L.elem=NULL; L.elem++; } L.elem=p_elem; return OK; } /////////////////////////////////////// //函数名:ListEmpty() //参数:SqList L //初始条件:...
size_t hash_val(const basic_string<_Elem, _Traits, _Alloc>& _Str) { // hash string to size_t value return (::_Hash_array_representation(_Str.c_str(), _Str.size())); } /*hash_val(const char*)*/ ...
看此博客之前建议先看看B站的视频python数据结构与算法系列课程,该... self.elem = elem self.prev = None self.next = None class DoubleCycleLinkList: def __init__(self, node=None): self.__head = node de
JavaCV uses wrappers from the JavaCPP Presets of commonly used libraries by researchers in the field of computer vision (OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, librealsense, CL PS3 Eye...
L.elem = (Elem *)malloc(LIST_INIT_SIZE*sizeof(Elem)); if(!L.elem) { return 0; } L.length = 0; L.listsize = LIST_INIT_SIZE; return 1; } //销毁线性表L Status DestroyList(List &L) { delete...
This function is a mirror of lp_build_elem_type() above.
2、.assign(n, elem) 赋值操作 3、重载等号操作符 operator= 4、直接列表初始化 `Vector<T> {,};` 5、swap 函数 三、数据的增删查改 1、at(int id)接口 2、front()接口 3、back()接口 4、[id]直接取 5、插入函数 6、...