opencv-4.1.1移植
1.编译
opencv 编译脚本
移植PC端仿真代码ARM板运行
- 将整个仿真代码目录拷贝到mpp的sample目录下。
- 编写Makefile
# Hisilicon Hi35xx sample Makefile
# makefile mpp/sample_simulator/
# gongcm 2019-12-20
PWD :=$(shell pwd)
CC := aarch64-himix100-linux-gcc
AR := aarch64-himix100-linux-ar
#mpp lib
MPP_LIB_DIR := $(PWD)/../../out/linux/multi-core/lib
MPI_LIBS := $(wildcard $(MPP_LIB_DIR)/*.a)
SVP_COMMON_LIB_static := $(PWD)/svp_common/libsvpsample.a
SRCS := $(wildcard $(PWD)/src/*.cpp)
SRCS += $(wildcard $(PWD)/detection/common/src/*.cpp)
SRCS += $(wildcard $(PWD)/utils/cv/src/*.cpp)
SRCS += $(wildcard $(PWD)/detection/fasterrcnn/src/*.cpp \
$(PWD)/detection/ssd/src/*.cpp \
$(PWD)/detection/mtcnn/src/*.cpp \
$(PWD)/detection/yolo/src/*.cpp \
$(PWD)/detection/rfcn/src/*.cpp)
CFLAGS += -std=c++11 -g
CFLAGS += -DHISI_CHIP -DUSE_OPENCV
CFLAGS += -I/home/gongcm/Hi3559AV100_SDK_V2.0.2.0/mpp_yuv/out/linux/multi-core/include
CFLAGS += -I$(PWD)/detection/common/include -I$(PWD)/include -I$(PWD)/utils/cv/include -I$(PWD)/src -I$(PWD)/include/opencv4
CFLAGS += -I$(PWD)/detection/fasterrcnn/include \
-I$(PWD)/detection/mtcnn/include \
-I$(PWD)/detection/rfcn/include \
-I$(PWD)/detection/ssd/include \
-I$(PWD)/detection/yolo/include
CFLAGS += -I$(PWD)/svp_common/include
LIBS := -L$(PWD)/svp_common/
LIBS += -Wl,--start-group $(MPI_LIBS) $(SVP_COMMON_LIB_static) -Wl,--end-group
LIBS += -L$(PWD)/lib -lstdc++ -lm -lrt -ldl -lpthread -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -lopencv_videoio
OBJS := $(SRCS:%.cpp=%.o)
TARGET := sample_simulator
all:$(OBJS)
$(CC) $(CFLAGS) $(OBJS) -o $(TARGET) $(LIBS)
clean:
rm -rf $(TARGET)
rm -rf $(PWD)/src/*.o
%.o:%.cpp
$(CC) $(CFLAGS) -c $< -o $@
测试SSD 网络
~/ssd/sample/sample_simulator # ./sample_simulator
SvpSampleCnnDetSSD start ...
ModelName input : ./data/detection/ssd/inst/inst_face_ssd_inst.wk
ModelName realpath : /root/ssd/sample/sample_simulator/data/detection/ssd/inst/inst_face_ssd_inst.wk
HI_MPI_SYS_MmzAlloc,u32Size 20283 kb
[FUNC]:SvpSampleOneSegDetCnnInit, [Line]:686 HI_MPI_SVP_NNIE_LoadModel
HI_MPI_SYS_MmzAlloc,u32Size 2064 kb
[FUNC]:SvpSampleOneSegDetCnnInit, [Line]:693 SvpSampleMallocMem malloc tmp_buf
HI_MPI_SYS_MmzAlloc,u32Size 0 kb
[FUNC]:SvpSampleOneSegDetCnnInit, [Line]:704 SvpSampleMallocMem malloc tsk_buf
ImageList input : ./data/detection/ssd/image_test_list.txt
ImageList realpath : /root/ssd/sample/sample_simulator/data/detection/ssd/image_test_list.txt
[FUNC]:SvpSampleSetCtrlParamOneSeg, [Line]:472 set Ctrl param successful
Image input : ./data/detection/images/test/000002.bmp
Image realpath : /root/ssd/sample/sample_simulator/data/detection/images/test/000002.bmp
[FUNC]:SvpSampleCnnDetectionOneSeg, [Line]:362 SvpSampleCnnDetectionForword time 9.111820 ms
==============================================================================
128 128
000002 1 1.00000000 72.732 38.157 97.055 78.662
==============================================================================
[FUNC]:SvpSampleDetOneSegGetResult, [Line]:127 first 000002 second bmp
[FUNC]:SvpSampleDetOneSegGetResult, [Line]:132 strBoxedImgPath Hh▒
[FUNC]:SvpSampleCnnDetectionOneSeg, [Line]:370 SvpSampleDetOneSegGetResult time 109.601640 ms
[FUNC]:SvpSampleDetOneSegReleaseResultMem, [Line]:264 SvpSampleFree
[FUNC]:SvpSampleCnnDetSSD, [Line]:465 SvpSampleCnnDetSSD time 3245.985380 ms
SvpSampleCnnDetSSD end ...