OpenCV,从位图创建图像对象

标签 opencv

我有一个已经包含图像的位图数组,然后我需要构造一个 openCV 对象来操作它。我看到的唯一构造函数是:

cv::imread(fileName...);

从现有结构创建图像的其他方法有哪些?

OpenCV 2.3

最佳答案

获取指向数据、图像 channel 和维度的指针,并使用众多构造函数中的一个:

Mat image(width, height, CV_8UC3, ucharDataPtr);

这里,CV_8UC3 是 openCV 索引数据类型的方式。 8 表示 8 位,U 表示无符号 - 所以它是一个无符号字符 - 默认图像格式。 C3 表示 3 个 channel 。如果您的位图有 alpha channel ,您将编写 CV_8UC4。如果是灰色,则CV_8UC1,依此类推。

重要:

此构造函数不复制数据。因此,请确保在使用 Mat 时保持原始位图对象处于事件状态。如果你想复制它,构造函数中有一个“withCopy参数”。只需查看文档即可。

关于OpenCV,从位图创建图像对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8793363/

相关文章:

opencv - opencv中resize和pryDown/pryUp有什么区别?

java - OpenCV-Android : Import . png 保留空白区域的透明度

java - OpenCV 3.1.0 断言失败 cv::HOGDescriptor::setSVMDetector 中的 checkDetectorSize

java - C++ 到 Java - OpenCV

python - 将 3D 世界坐标放入 2D 数组

opencv - aruco::detectMarkers 没有找到标记的真正边缘

algorithm - 如何改进HOG目标探测器在不同照明下的图像?

visual-c++ - 将位图(640x480)推送到 AVI 文件的 Visual C++ AVI 编写器函数?

opencv - 错误CS0119:表达式表示为 `type',其中应为 `variable', `value'或 `method group'

android - 在后台运行 native 代码