- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有c++ opencv接口(interface)可以对这两个函数做同样的操作?
你好,我其实就是这样使用这两个函数的
IplImage *image;
ARUint8 *dataPtr; // unsigned chars, in format ARGB
cv::Size size;
//do stuff
image = cvCreateImage(*size, IPL_DEPTH_8U, channels );
cvSetImageData( image, dataPtr, size->width * channels );
第一个创建的用于初始化一个空的 IplImage *image,第二个用于将原始数据从外部源 (dataPtr) 复制到图像本身。
我知道第一个应该是微不足道的,替换 IplImage con un cv::Mat,问题是我不知道如何将参数“IPL_DEPTH_8U”传递给构造函数。
要用c++接口(interface)复制数据,我一点头绪都没有...
PS: ARUint8 *dataPtr 是我的数据源,我不能有其他来源,但我需要将其转换为 opencv 数据表示
提前致谢!
最佳答案
正如您所怀疑的,在 C++ 接口(interface)中,您通过 cv::Mat
的构造函数来执行此操作。您必须使用与 IPL_DEPTH_8U
相对应的适当类型(可能是 CV_8U
或 CV_8UC3
,具体取决于您拥有的 channel 数量)。
其中一个构造函数重载可以采用指向现有数据的原始指针,因此您可以这样做:
cv::Mat image(size, CV_8U, (void*)dataPtr);
另请注意,cv::Mat 构造函数可以采用 step
参数,如果您的数据在行末尾有填充或任何其他更复杂的格式,则需要该参数。
您也可以随时浏览 OpenCV documentation for Mat::Mat online了解更多详情。
关于c++ - cvSetImageData 和 cvCreateImage c++ 等效接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14810838/
嗨,我实际上需要在 OpenCV 库中创建一个类似于 CvcreateImage() 的函数,它可以创建 IplImage 以外的数据类型的图像(例如 Unsigned char 或类似 IplIma
我在 RaspberryPi 上运行 OpenCV 并使用 OpenCVs C 接口(interface)。 我需要调整网络摄像头图像的尺寸,因此我使用了 cvResize() 函数。 它工作正常但几
来自 OpenCV 新手的非常基本的问题。我只想创建一个每个像素都设置为 0(黑色)的图像。我在 main() 函数中使用了以下代码: IplImage* imgScribble = cvCreate
有没有c++ opencv接口(interface)可以对这两个函数做同样的操作? 你好,我其实就是这样使用这两个函数的 IplImage *image; ARUint8 *dataPtr; // u
我试着在我的MS vs Codes 2022社区版本中构建一个代码片段。我配置了使用OpenCV中的功能所需的所有东西。但是,我得到了一组错误。我所做的配置如下所述。。。。错误:
我是一名优秀的程序员,十分优秀!