从ITK到OpenCV: 将ITK灰度图像转换为OpenCV Mat
在图像处理中,ITK和OpenCV都是非常常见的库。在不同的场景下,我们需要在两个库之间进行转换。本文将介绍如何将ITK中的灰度图像转换为OpenCV中的Mat格式。
首先,我们需要加载ITK图像并将其转换为OpenCV。
#include "itkImage.h"
#include "itkImageFileReader.h"
#include "opencv2/core.hpp"
#include "opencv2/imgcodecs.hpp"
int main()
{
// Load ITK image
using ImageType = itk::Image< unsigned char, 2 >;
auto reader = itk::ImageFileReader< ImageType >::New();
reader->SetFileName("test.png");
reader->Update();
auto itkImage = reader->GetOutput();
// Convert to OpenCV Mat
cv::Mat cvImage(itkImage->GetHeight(), itkImage->GetWidth(), CV_8UC1, itkImage->GetBufferPointer());
// Display result
cv::imshow(