自分のプロジェクトの 1 つで使用するために、接続されたコンポーネントを計算する新しいメソッドを OpenCV 2.4.4 に追加する必要があります。私はすでにこの質問の関数のコードを持っています( jasonに感謝します) 。コードとヘッダーの両方を見つけたパッチに移動しました。
私がしたことは、この新しい関数のコードを配置した に新しいファイルconnectedcomponents.cpp
を追加することでした。C:\opencv\modules\imgproc\src
次に、に行きC:\opencv\modules\imgproc\include\opencv2\imgproc
、適切なエクスポート ヘッダーを に追加しましたimgproc.hpp
。最後に、opencv_imgproc
Visual Studio 2010 を使用して、OpenCV ソース コードでプロジェクトを再ビルドしました。すべて正常にビルドされ、、、、およびファイルが生成さopencv_imgproc244.dll
れopencv_imgproc244.lib
ますopencv_imgproc244.exp
。
ここで、これらのファイル (.exp を除き、どこに移動すればよいかわかりませんか?) を既存の OpenCV ディレクトリにコピーし、古いファイルを置き換えます。独自のプロジェクトをビルドしようとすると、すべて正常にビルドされますが、ここから新しいメソッドにアクセスできません。を含めます#include <opencv2/imgproc/imgproc.hpp>
。ここから、必要な新しいメソッドを除いて、ファイル内の他のすべてのメソッドにアクセスできます。
すべてがコンパイルされるが、メソッドが公開されていないという事実は、私が変更すべき他のファイルもあると考えるように導きますが、経験不足のため、このファイルがどこにあるのか、何なのかわかりません。
追加情報: Visual Studio 2010、OpenCV 2.4.4 を使用しており、OpenCV を CMake 2.8.10.2 でビルドしています。接続コンポーネントを計算するcvBlobsLibなどのライブラリがあることを認識しており、プロジェクトでこれらを正常に使用しています。ただし、より高速で最新のソリューションが必要です (cvBlobsLib はまだ古い IplImage を使用しています)。