私は画像処理とopencvが初めてです。私は2つの画像を持っています。画像2で画像1に対応する値を見つけて、それを表示したいと思います。画像間の対応する値を見つけるためにopencvに関数はありますか?
前もって感謝します。
私は画像処理とopencvが初めてです。私は2つの画像を持っています。画像2で画像1に対応する値を見つけて、それを表示したいと思います。画像間の対応する値を見つけるためにopencvに関数はありますか?
前もって感謝します。
Mat corrVals;
bitwise_and(image2, image1>0, corrVals);
image1>0 は、値が 0 と 255 の一時的なバイナリ イメージを作成します。必要なのは、イメージのピクセル間で AND 演算を実行し、結果をどこかに保存することだけです。これは bitwise_and によって行われます。
これは @Mailerdaimon によって提案されたアプローチに似ていますが、はるかに安価な操作を使用します。
必要なすべての値が1
であり、他のすべてが であるように image1 にしきい値を設定できます0
。
あなたが掛ける image1
よりもimage2
。
cv::multiply(image1, image2, result, scale, dtype)
image2
これにより、 でマークされているすべての値が 0 より大きいイメージが返されimage1
ます。
あなたの画像を見ずに言うのは難しいです。これはコンピューター ビジョンでよく研究されている問題であり、OpenCV にはこのためのアルゴリズムがいくつか含まれています。あなたが見ている問題は、以下に応じて、非常に簡単または非常に難しい場合があります。
OpenCV 内のステレオ マッチングとオプティカル フローを調べることから始めることができます。