c++ - Is it possible to have a cv::Mat that contains pointers to scalars rather than scalars? -


i attempting bridge between vtk (3d visualization library) , opencv (image processing library).

currently, doing following:

vtkwindowtoimagefilter converts vtkrenderwindow (scene) vtkimagedata (pixels of render window).

i have copy each pixel of vtkimagedata cv::mat processing , display opencv.

this process needs run in real time, redundant copy (scene pixels imagedata mat) severely impacts performance. map directly scene pixels cv::mat.

as scene changes, cv::mat automatically reference scene. essentially, cv::mat<uchar *>, rather cv::mat<uchar>. make sense? or overcomplicating it?

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());` 

i succeeded implementing vtkimagedata* directly cv::mat pointer array..

some functions such cv::flip or matimage -= cv::scalar(255,0,0)

directly working on vtkimagedata.

but functions cv::resize or cv::canny doesn't work.


Comments

Popular posts from this blog

c# - How to get the current UAC mode -

postgresql - Lazarus + Postgres: incomplete startup packet -

javascript - Ajax jqXHR.status==0 fix error -