OpenCV中与C++ unsigned long对应的数据类型是哪个?

 我来答
windroc
2012-02-20 · TA获得超过634个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:272万
展开全部
可以去看opencv的文档。
我用的OpenCV是2.X版本的,OpenCV内置的数据类型有下面几种:
• 8-bit unsigned integer (uchar) CV_8U
• 8-bit signed integer (schar) CV_8S
• 16-bit unsigned integer (ushort) CV_16U
• 16-bit signed integer (short) CV_16S
• 32-bit signed integer (int) CV_32S
• 32-bit floating-point number (float) CV_32F
• 64-bit floating-point number (double) CV_64F
没有unsigned long。
OpenCV中有个关于数据的DataType<>的trait class,我没用过,可能可以指定自己的类型。
百度网友699d1dc
2012-02-08 · TA获得超过194个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:130万
展开全部
opencv没有重定义这些基本类型,你可以直接用这类型。
可能有些用define定义的宏名,你可以去opencv目录下用windows自带的搜索,查找出来。
更多追问追答
追问
直接用哪个类型啊?不太明白,能不能详细一些?对于opencv没有重定义这些基本类型如何用?譬如我把CvMat Ma = cvMat(size.x,size.y,CV_16SC1,data_16_ptr)中的CV_16SC1直接换为 unsigned long,有编辑错误的
追答
这不一样。你原来问的是这个。
你去看宏定义CV_16SC1是一个数字,代表单通道(看C后面的数字)16位有符合整形,这个数字是opencv里面定义的一个规范。具体你去打开opencv.sln,然后查找CV_16SC1,再右键查看定义,就能看到符合cvMat的参数范围。
而cvMat里面是要求参数类型是int,你报错的原因应该是参数类型不对。unsigned long和int不是一个意思。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式