1

自分のプロジェクトの 1 つで使用するために、接続されたコンポーネントを計算する新しいメソッドを OpenCV 2.4.4 に追加する必要があります。私はすでにこの質問の関数のコードを持っています( jasonに感謝します) 。コードとヘッダーの両方を見つけたパッチに移動しました。

私がしたことは、この新しい関数のコードを配置した に新しいファイルconnectedcomponents.cppを追加することでした。C:\opencv\modules\imgproc\src次に、に行きC:\opencv\modules\imgproc\include\opencv2\imgproc、適切なエクスポート ヘッダーを に追加しましたimgproc.hpp。最後に、opencv_imgprocVisual Studio 2010 を使用して、OpenCV ソース コードでプロジェクトを再ビルドしました。すべて正常にビルドされ、、、、およびファイルが生成さopencv_imgproc244.dllopencv_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 を使用しています)。

4

1 に答える 1

1

そのため、今朝新鮮な目で問題を確認した後、すぐに間違いに気づきました。私が最初にしたことは、新しい関数のヘッダー コードを

C:\opencv\modules\imgproc\include\opencv2\imgproc\imgproc.hpp

しかし、私がすべきだったのは、それを追加することです

C:\opencv\build\include\opencv2\imgproc\imgproc.hpp

これは、OpenCV を使用するすべてのプロジェクトに含まれるファイルであるためです。現在、すべてが計画どおりに機能しています。

于 2013-04-17T08:07:59.640 に答える