C++ OpenCV至FlyCapture2图像

C++ OpenCV至FlyCapture2图像,c++,opencv,image-processing,flycapture,C++,Opencv,Image Processing,Flycapture,我有一个bumblebee2,我正在使用flycapture SDK来捕获传入的图像。然后我将左侧的flycapture2图像转换为openCV格式,以便对其进行一些基本操作。然后我想把它反馈到Flycapture SDK中,但我似乎不知道怎么做。要将Flycapture转换为OpenCV,请执行以下操作: FlyCapture2::Image cf2Img; grabbedImage.Convert(FlyCapture2::PIXEL_FORMAT_BGR, &cf2Img );

我有一个bumblebee2,我正在使用flycapture SDK来捕获传入的图像。然后我将左侧的flycapture2图像转换为openCV格式,以便对其进行一些基本操作。然后我想把它反馈到Flycapture SDK中,但我似乎不知道怎么做。要将Flycapture转换为OpenCV,请执行以下操作:

FlyCapture2::Image cf2Img; 
grabbedImage.Convert(FlyCapture2::PIXEL_FORMAT_BGR, &cf2Img ); 
unsigned int rowBytes = (double)cf2Img.GetReceivedDataSize()/(double)cf2Img.GetRows(); 
cv::Mat cvImage = cv::Mat( cf2Img.GetRows(), cf2Img.GetCols(), CV_8UC3, cf2Img.GetData(), rowBytes ); 
然后我做我的操作(阈值/轮廓检测/背景去除等),然后我想把这个图像反馈回Flycapture。我试图把它转换回来,但没有成功


是否有人使用过任何代码将OpenCV格式带回Flycapture

我在灰点工作,我会尽力帮忙的。请注意,您可以通过我们的支持网站ptgrey.com/support/直接与我们联系,我们也可以为您提供帮助

查看附加的代码和openCV源代码,制作cvImage时,您只是重新分配指向数据的指针,而不是制作数据的实际副本

因此,只要数据的大小保持不变(即保持为每像素24位),对openCV图像所做的任何更改都应反映在flycapture(cf2Img)数据中,并能够正确保存

如果您可以解释您在尝试移回flycapture图像时遇到的问题,或者向我们发送您如何操作的源代码,我们可以进一步帮助您

总而言之,我希望您在提供代码之后对cvImage所做的任何操作都应该反映在cf2Img中,而不需要进行转换,前提是您不更改图像的位深度

我希望这会有所帮助,但请让我知道我是否可以帮助澄清任何事情,或者您是否可以提供一个无法转换回fc2的示例

谢谢,, 点灰支护