是否可以拥有一个cv ::垫子,其中包含标量而不是标量的指针
Is it possible to have a cv::Mat that contains pointers to scalars rather than scalars?
我正在尝试在VTK(3D可视化库)和OpenCV(图像处理库)之间桥接。
目前,我正在做以下操作:
vtkWindowToImageFilter
将vtkRenderWindow
(场景)转换为vtkImageData
(渲染窗口的像素)。
i然后必须将vtkImageData
的每个像素复制到cv::Mat
中进行处理,并使用OpenCV显示。
此过程需要实时运行,因此冗余副本(在ImageData
中进入Mat
)会严重影响性能。我想直接从场景像素到cv::Mat
映射。
随着场景的变化,我希望cv::Mat
自动引用场景。本质上,我想要一个cv::Mat<uchar *>
,而不是cv::Mat<uchar>
。那有意义吗?还是我过度复杂化?
vtkSmartPointer<vtkImageData> image = vtkSmartPointer<vtkImageData>::New();
int dims[3];
image->GetImageData()->GetDimensions(dims);
cv::Mat matImage(cv::Size(dims[0], dims[1]), CV_8UC3, image->GetImageData()->GetScalarPointer());`
我成功地将vtkimagedata*
直接实施到cv::Mat
指针数组中..
一些功能,例如 cv::flip
或matImage -= cv::Scalar(255,0,0)
直接在vtkimagedata上工作。
但是诸如cv::resize
或cv::Canny
之类的功能不起作用。
相关文章:
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 编译包含字符串的代码时遇到问题
- c++库的公共头文件中应该包含什么
- 将包含C样式数组的对象初始化为成员变量(C++)
- 是否需要删除包含对象的"pair"?
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 使用mongocxx驱动程序时包含头文件问题
- 如何在h文件中包含.o对象文件
- 在混合代码库中将C转换为C++时出现许多包含错误
- VS2017,C++包含目录与附加包含目录,子文件夹包含失败-但为什么
- cmath抛出错误C2062、C2059、C2143和C2447.cmath包含在矢量文件中
- 为什么您需要C++头文件的包含保护
- 无法在UE4中包含BP类到CPP类
- g++ 说函数不存在,即使包含正确的标头
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 是否可以拥有一个cv ::垫子,其中包含标量而不是标量的指针
- 标量类型是否包含类类型的指针