# How to convert vtkimagedata of vtk.js to opencv.js Mat

**URL:** https://discourse.vtk.org/t/how-to-convert-vtkimagedata-of-vtk-js-to-opencv-js-mat/3330
**Category:** Support
**Tags:** file-formats
**Created:** [May 19, 2020, 2:44am UTC](https://discourse.vtk.org/t/how-to-convert-vtkimagedata-of-vtk-js-to-opencv-js-mat/3330 "2020-05-19T02:44:45Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![huatianyu](https://discourse.vtk.org/user_avatar/discourse.vtk.org/huatianyu/32/1630_2.png) [@huatianyu](https://discourse.vtk.org/u/huatianyu)
#### Post date: [May 19, 2020, 2:44am UTC](https://discourse.vtk.org/t/how-to-convert-vtkimagedata-of-vtk-js-to-opencv-js-mat/3330/1 "2020-05-19T02:44:45Z")

</div>

Like C++:  
// vtkImageData==\>Mat  
cv::Mat vtkImage2Mat(vtkImageData \*image)  
{  
int dim[3];  
image-\>GetDimensions(dim);  
int imgType=CV\_8UC1;  
if(image-\>GetNumberOfScalarComponents()==1)  
imgType=CV\_8UC1;  
if(image-\>GetNumberOfScalarComponents()==3)  
imgType=CV\_8UC3;

```
cv::Mat matSrc(dim[1],dim[0],imgType,image->GetScalarPointer());

return matSrc;

```

}
