问题标签 [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.
android - 在 NDK Android Studio 中将 char* 转换为 cv::Mat
我有一个本机 C++ 方法,我用它来读取名为“hi.jpg”的图像。下面的代码找到资产,并将数据加载到 char* 缓冲区中。(我尝试了其他方法,例如 imread() 并且找不到该文件)。然后我想将此数据更改为 Mat 格式,因此我按照一些说明将 char* 缓冲区放入 std::vector ,然后使用 cv::imdecode 将数据转换为 Mat。
我的问题是我不知道如何测试数据是否已成功转换为 Mat。我该如何测试呢?我已经运行了调试器并检查了 dataToMat,但这并没有多大意义。
opencv - OpenCV C2 类型的图像?
图像的第二个通道是否C2
代表 alpha 通道,或者它们只是填补C1
-之间的空白C3,C4
?
qt - OpenCV Mat 到 Qt QString
我在 Qt 应用程序中使用 opencv。我已经看到了一些通用的 c++ 打印出 Mat 值的方法,并且已经这样做了
理想情况下,我可以有一个包含这个 Mat 内容的 QString。有没有一种巧妙的方法来做到这一点?
c++ - 如何将 CBitmap 转换为 cv::Mat?
如何将 CBitmap 转换为 cv::Mat?也许有一些库或其他东西......比如......
但该代码不正确。
谢谢!
python - 如何使用 ctypes(C++ 到 Python)将 opencv3 cv::Mat 转换为 numpy 数组?
我尝试使用ctypes将 C++ 中的 opencv3 cv::Mat图像转换为 python 中的Numpy数组。C++ 端是一个共享库,它从共享内存区域读取图像。共享内存正在工作,与这个问题无关。
有两个函数声明为对 ctypes 可见。一种是返回 cv::Mat 属性,如cols、rows和step。另一个函数返回 cv::Mat 数据 (mat.data)。
python端看起来像这样:
我想在python中显示图像然后......
..但我认为 numpy 数组的形状是错误的。如何正确构建 numpy 数组以便能够在 python 中将其用作 OpenCV 图像?
有没有将其转换为 numpy 的解决方案?这里有 boost::python 转换器。我将 Boost 用于共享内存,但希望将 ctypes 用于 C 绑定内容。
c++ - (C++) 在 HDF5 中编写数据库
您好,这是我第一次使用 HDF5,我正在尝试使用手动创建的数据集创建数据库表。文件已创建并已部署,但是每次我尝试插入单个数据注册表(每次 cv::mat 为 1x6,因为我尝试插入整个数据集但我也无法插入)我收到以下消息:
H5Dwrite():文件选择+偏移不在范围内主要:数据空间次要:在抛出“H5::DataSetIException”实例后调用超出范围终止
我正在使用的代码如下
有谁知道我在这里想念什么?我认为我的结果很奇怪,因为我总是在数据空间中注册了一块新的数据,以便将其用作放置注册表。
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 图像对象。
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,因为它们是矩阵。
opencv - 将 uint64_t 转换为 cv::mat
是)我有的:
那是行不通的。我错过了什么?
错误消息是:不存在合适的构造函数来将“uint64_t *”转换为“cv::Mat”和“无法使用 unsigned long long 类型的左值初始化 cv::Mat 类型的局部变量测试”谢谢
c++ - 在另一个分配的矩阵中为某个范围创建 cv::Mat 标头
我希望将给定 ColumnVector 的值右移并复制到另一个比 ColumnVector 大一个元素的 RowVector。我想通过将 columnVector 复制到 RowVector 中的某个范围来完成此操作。
头矩阵不是指向包含rowVector的同一个内存地址吗?如果没有,如何将数据复制到行的某个部分?