3

軸カメラ用のアプリケーションを開発して組み込みます。プロジェクトで opencv を使用したいと考えています。現在、create-package.sh artpec-4 を実行した後、互換性のないライブラリをスキップしているというエラーが表示され、互換性のない最初のライブラリが見つからないと停止しました。この問題を調べたところ、解決策の 1 つは、新しいアーキテクチャを使用して opencv をコンパイルすることです。プロジェクトにopencvのソースコードを含めれば、うまくいくと思います。カメラにopencvをインストールできるかどうかわからないので、これがおそらく最良の解決策です。私はopencvソースファイルをダウンロードしました

http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.6.1/opencv-2.4.6.1.tar.gz/download

基本的に、その .rar から必要なファイル、それらを配置する場所、および makefile を変更してすべてを使用可能なアプリケーションにコンパイルする方法を知りたいと思います。

ここに私の現在のメインメイクファイルがあります

AXIS_USABLE_LIBS = UCLIBC GLIBC
include $(AXIS_TOP_DIR)/tools/build/Rules.axis

PROGS     = myapp

CFLAGS   += -Wall -g -O2
#CFLAGS   += -I/usr/include/opencv -I/usr/include/opencv2 
#LIBS     += -L/usr/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann
LDFLAGS  += -lnet_http -lcapture
ifneq ($(AXIS_OPT_DEBUG),y)
ifneq ($(AXIS_OPT_STATIC),y)
# Strip the binaries when building unless debug or static
# $(CXX) $(LDFLAGS) $^ $(LDLIBS) -o $@ `pkg-config --cflags --libs opencv`
LDFLAGS  += -s
endif
endif
SRCS      = myapp.cpp 

OBJS      = $(SRCS:.cpp=.o)

all:    $(PROGS)

$(PROGS): $(OBJS)
        $(CXX) $^ -o $@ $(LDFLAGS) $(LDLIBS) -L/usr/lib -lopencv_core -lopencv_imgproc -lopencv_calib3d -lopencv_video -lopencv_features2d -lopencv_ml -lopencv_highgui -lopencv_objdetect -lopencv_contrib -lopencv_legacy

$(OBJS) : $(GENERATED_H)
# Install the package on the camera
install:        $(PROGS)
        create-package.sh
        install-onto-target.sh

clean:
        rm -f $(PROGS) *.o core
4

1 に答える 1

1

その場合、core および highgui モジュールが必要になります (libopencv_core、libopencv_highgui)。

modules/ highgui /include/opencv2/highgui.hppmodules/highgui/src/cap.cppを確認してください。2番目のものには、探しているほとんどの機能の手順があります。同様の名前の関数は、OpenCV がビデオ ストリームに他のライブラリを使用するという事実に関連しています。OpenCV の画像処理機能を使用しない場合は、画像/ビデオの読み取りと書き込みに特化したライブラリを検討することをお勧めします。

于 2013-08-12T08:35:16.970 に答える