vtk中的图片传给opencv的mat操作
来源:互联网 发布:nodejs怎么运行js文件 编辑:程序博客网 时间:2024/06/06 13:23
vtkImageData* image = windowToImageFilter->GetOutput(); // Check number of components. const int numComponents = image->GetNumberOfScalarComponents(); // 3// Construct the OpenCv Mat int dims[3]; image->GetDimensions(dims); cv::Mat openCVImage(dims[0], dims[1], CV_8UC3, image->GetScalarPointer()); // Unsigned int, 3 channels cvtColor(openCVImage, openCVImage, CV_BGRA2GRAY); // Flip because of different origins between vtk and OpenCV cv::flip(openCVImage,openCVImage, 0);
I think vtk is giving me the image in BGRA, so I perform a conversion from BGRA to GRAY. Doing it to RGB did not give me the expected results, but since I just need a black and white image I did not did deeper.
If you need to keep colors, just figure out if vtk is storing the image in RGBA, BGRA or how and transform into RGB.
网上搜了一下,用vtk得到的图像传给opencv使用,资料里说明,vtk的图像可能是RGBA的4通道,所以用转换一下成灰度图像。并且两个库得到图像的坐标也不一样,所以要对图片进行翻转操作。
再来对vtk图像进行了解,vtkChangeImageInformation可以作为管线中的一个filter来修改图像信息。利用这个filter可以修改图像的原点,像素间隔以及范围起点(extent),另外还可以对图像平移缩放等操作。【2】
参考资料:
【1】
http://vtk.1045678.n5.nabble.com/From-vtkImageData-to-Iplimage-OpenCV-td5716020.html
【2】http://blog.csdn.net/shenziheng1/article/details/54646862
- vtk中的图片传给opencv的mat操作
- opencv的mat操作
- OpenCV中的Mat阵列操作
- opencv中的Mat结构操作
- OpenCV HSV图片处理 Mat元素操作
- opencv Mat 的基本操作
- openCV中的MAT的详解
- 将指针下的图片传给opencv进行处理。
- Opencv中Mat对于像素的操作
- 【OpenCV】Mat对于像素的操作
- opencv中Mat的一些常见操作
- opencv的Mat格式数据操作
- Opencv 中 Mat类的基本操作
- opencv 中Mat的一些操作
- opencv的Mat类基本操作
- opencv中Mat的各种相关操作
- OpenCV图像矩阵Mat的基本操作
- Opencv Mat类的取值操作
- [Android UI]ConstraintLayout-约束性布局的使用和注意点
- 【Machine Learning】笔记:主成份分析 PCA
- Spark学习笔记(6)源码解读之Job动态生成和深度思考
- 基于CAS的单点登录SSO[4]: 加入两个CAS客户端测试单点登录
- C++ 类与对象
- vtk中的图片传给opencv的mat操作
- react native 开发笔记(二)
- Javascript之BOM与DOM讲解
- retrofit源碼分析
- 将Eclipse中的项目上传至oschina
- JAVA的jdbc向MySql表中插入各种数据类型
- JavaIO操作实现文件复制与名称修改
- NTP的时间戳的LSW转换为unix的usec
- Spark学习笔记(7)源码解读之JobScheduler内幕实现