我正在开发和嵌入一个轴相机的应用程序。我想在我的项目中使用opencv。目前,在运行create-package.sh artpec-4之后,我收到错误,它跳过了不兼容的库,然后当它找不到第一个不兼容的库时,它就会弯下腰来。我发现了这个问题,其中一个解决方案是使用新的体系结构编译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,将其编译成一个可用的应用程序。
这是我现在的主要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发布于 2013-08-12 08:35:16
然后,您将需要核心和高and模块(libopencv_core,libopencv_highgui)。
检查模块/highgui/include/opencv2 2/Highgui.hpp和模块/highgui/src/cap.cpp。在第二种情况下,您所要寻找的大多数函数都有过程。类似的命名函数与事实相关联,OpenCV使用其他库来处理视频流。如果您不打算使用OpenCV的图像处理功能,那么最好看看专门用于图像/视频读写的库。
https://stackoverflow.com/questions/18167115
复制相似问题