问题标签 [opencv-mat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
125 浏览

android - 在 NDK Android Studio 中将 char* 转换为 cv::Mat

我有一个本机 C++ 方法,我用它来读取名为“hi.jpg”的图像。下面的代码找到资产,并将数据加载到 char* 缓冲区中。(我尝试了其他方法,例如 imread() 并且找不到该文件)。然后我想将此数据更改为 Mat 格式,因此我按照一些说明将 char* 缓冲区放入 std::vector ,然后使用 cv::imdecode 将数据转换为 Mat。

我的问题是我不知道如何测试数据是否已成功转换为 Mat。我该如何测试呢?我已经运行了调试器并检查了 dataToMat,但这并没有多大意义。

0 投票
1 回答
493 浏览

opencv - OpenCV C2 类型的图像?

图像的第二个通道是否C2代表 alpha 通道,或者它们只是填补C1-之间的空白C3,C4

0 投票
1 回答
874 浏览

qt - OpenCV Mat 到 Qt QString

我在 Qt 应用程序中使用 opencv。我已经看到了一些通用的 c++ 打印出 Mat 值的方法,并且已经这样做了

理想情况下,我可以有一个包含这个 Mat 内容的 QString。有没有一种巧妙的方法来做到这一点?

0 投票
1 回答
885 浏览

c++ - 如何将 CBitmap 转换为 cv::Mat?

如何将 CBitmap 转换为 cv::Mat?也许有一些库或其他东西......比如......

但该代码不正确。

谢谢!

0 投票
0 回答
1681 浏览

python - 如何使用 ctypes(C++ 到 Python)将 opencv3 cv::Mat 转换为 numpy 数组?

我尝试使用ctypes将 C++ 中的 opencv3 cv::Mat图像转换为 python 中的Numpy数组。C++ 端是一个共享库,它从共享内存区域读取图像。共享内存正在工作,与这个问题无关。

有两个函数声明为对 ctypes 可见。一种是返回 cv::Mat 属性,如colsrowsstep。另一个函数返回 cv::Mat 数据 (mat.data)。

python端看起来像这样:

我想在python中显示图像然后......

..但我认为 numpy 数组的形状是错误的。如何正确构建 numpy 数组以便能够在 python 中将其用作 OpenCV 图像?

有没有将其转换为 numpy 的解决方案?这里有 boost::python 转换器。我将 Boost 用于共享内存,但希望将 ctypes 用于 C 绑定内容。

0 投票
1 回答
478 浏览

c++ - (C++) 在 HDF5 中编写数据库

您好,这是我第一次使用 HDF5,我正在尝试使用手动创建的数据集创建数据库表。文件已创建并已部署,但是每次我尝试插入单个数据注册表(每次 cv::mat 为 1x6,因为我尝试插入整个数据集但我也无法插入)我收到以下消息:

H5Dwrite():文件选择+偏移不在范围内主要:数据空间次要:在抛出“H5::DataSetIException”实例后调用超出范围终止

我正在使用的代码如下

有谁知道我在这里想念什么?我认为我的结果很奇怪,因为我总是在数据空间中注册了一块新的数据,以便将其用作放置注册表。

0 投票
1 回答
519 浏览

opencv - OpenCV 2.4:用于将 cvMat 转换为 IplImage 的 C API

我在 cvMat 对象中有一个 YUYV 图像缓冲区(如下所示的片段)。我必须将此 cvMat 对象转换为 IplImage 以进行颜色转换。

我尝试了以下选项将此cvmat对象转换为IplImage对象(src:https ://medium.com/@zixuan.wang/mat-cvmat-iplimage-2f9603b43909 )。

但没有任何效果。cvGetImage(),cvConvert()期望cvArr*作为输入。传递&cvmat给他们会引发异常。

有没有其他方法可以在 OpenCV 2.4 中将 CvMat 对象转换为 IplImage 对象?

注意:我不能使用 C++ API 或任何其他版本的 OpenCV。我仅限于使用 OpenCV 2.4

编辑 1:我的目标是将此 YUYV 缓冲区转换为 RGB 图像对象。

0 投票
1 回答
841 浏览

c++ - OpenCV IOS 调整垫子的大小

我正在尝试动态调整要覆盖到另一个图像上的 Mat 的大小。图像存储在 IOS 设备的 Assets.xcassets 文件夹中,我将其传递给我的函数,然后使用 UIImageToMat 将其转换为 cv::Mat。

作为一项测试,我希望能够调整它的大小以使其缩小一半,但我遇到了问题。

当我尝试时overlay->resize(overlay->rows/2);,结果叠加层只显示了它的上半部分。

然后,当我尝试时,cvResize(overlay, destPointer, CV_INTER_LINEAR); 我得到了错误:

错误:(-5) 函数 cvarrToMat 中的未知数组类型

C++:

非常感谢这里的任何帮助,对于图像处理来说仍然很新,并且不确定如何处理这些 cv::Mats,因为它们是矩阵。

0 投票
1 回答
311 浏览

opencv - 将 uint64_t 转换为 cv::mat

是)我有的:

那是行不通的。我错过了什么?

错误消息是:不存在合适的构造函数来将“uint64_t *”转换为“cv::Mat”和“无法使用 unsigned long long 类型的左值初始化 cv::Mat 类型的局部变量测试”谢谢

0 投票
1 回答
185 浏览

c++ - 在另一个分配的矩阵中为某个范围创建 cv::Mat 标头

我希望将给定 ColumnVector 的值右移并复制到另一个比 ColumnVector 大一个元素的 RowVector。我想通过将 columnVector 复制到 RowVector 中的某个范围来完成此操作。

头矩阵不是指向包含rowVector的同一个内存地址吗?如果没有,如何将数据复制到行的某个部分?