1

私は 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 に戻すために以前に使用したコードを持っている人はいますか?

4

1 に答える 1

1

私はポイント・グレイで働いており、ここで助けようとします. ただし、ptgrey.com/support/ のサポート サイトから直接お問い合わせいただくこともできます。

添付したコードとopenCVソースを見ると、cvImageを作成すると、ポインタをデータに再割り当てしているだけで、データの実際のコピーを作成していません。

したがって、データのサイズが同じである限り (つまり、ピクセルあたり 24 ビットを維持する場合)、openCV 画像に加えた変更は flycapture (cf2Img) データに反映され、適切に保存できるはずです。

flycapture 画像に戻す際に発生している問題について説明していただけるか、その方法のソース コードをお送りいただければ、さらにお手伝いいたします。

要約すると、画像のビット深度を変更していないと仮定すると、提供したコードが cf2Img に反映され、元に戻す必要はありません。

お役に立てば幸いですが、何か明確にするお手伝いができるか、または fc2 への変換に失敗した例を提供できるかどうかをお知らせください。

ありがとう、ポイントグレイサポート

于 2014-09-12T19:08:54.680 に答える