Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

compiling embedded axis camera software using opencv. Make file changes

I am developing and embed application for an axis camera. I would like to use opencv with my project. Currently, after running create-package.sh artpec-4, I received errors that it was skipping incompatible libraries, then it stooped once it couldn't find he first library that was incompatible. I looked up this issue and one solution is to compile opencv using the new architecture. If I included the source code for opencv in my project I think it could work. This would most likely be the best solution, because I don't know if I could get opencv installed on the camera. I have downloaded the opencv source files at

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

essentially, I would like to know what files I will need from that .rar, where I should put them, and how to change the makefile to compile it all into a usable application.

here is my current main 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
like image 525
rich green Avatar asked Jul 12 '26 19:07

rich green


1 Answers

You will need core and highgui modules then (libopencv_core, libopencv_highgui).

Check modules/highgui/include/opencv2/highgui.hpp and modules/highgui/src/cap.cpp. In the second one there are procedures for most of functions You are looking for. The similar named functions are connected with fact, that OpenCV uses other libraries for video streams. If You are not going to use image processing capabilities of OpenCV it might be a better idea to take a look at libraries specialised in image/video reading and writing.

like image 66
morynicz Avatar answered Jul 15 '26 12:07

morynicz



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!