Qiuyang 2 gadi atpakaļ
vecāks
revīzija
f229a7c916

+ 42 - 39
CMakeLists.txt

@@ -64,45 +64,48 @@ list(APPEND 3RDPARTY_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS})
 list(APPEND 3RDPARTY_LIBS ${GLOG_LIBRARIES})
 
 ##OpenCV
-if(WITH_OPENCV)
-  if(CMAKE_TOOLCHAIN_FILE)
-    if(EXISTS ${PROJECT_SOURCE_DIR}/include/opencv)
-       set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_features2d opencv_flann)
-       if(EXISTS ${PROJECT_SOURCE_DIR}/include/opencv2/imgcodecs)
-         list(APPEND OpenCV_LIBS opencv_imgcodecs)
-       endif()
-       if(EXISTS ${PROJECT_SOURCE_DIR}/include/opencv2/videoio)
-         list(APPEND OpenCV_LIBS opencv_videoio)
-       endif()
-       message(STATUS "HAVE_OPENCV enabled")
-       message(STATUS "opencv libraries: ${OpenCV_LIBS}")
-       set(HAVE_OPENCV true)
-       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENCV")
-    else()
-      set (HAVE_OPENCV false)
-    endif()
-  else()
-     set(OpenCV_FIND_QUIETLY true)
-     #find_package(OpenCV REQUIRED) //this will include opencv_ts which result in crash on centos
-     find_package(OpenCV OPTIONAL_COMPONENTS imgcodecs)
-     find_package(OpenCV OPTIONAL_COMPONENTS videoio)
-     set(optional_opencv_libs ${OpenCV_LIBS})
-     find_package(OpenCV REQUIRED core imgproc highgui features2d)
-     if(OpenCV_FOUND)
-       if(imgcodecs_FOUND)
-         list(APPEND OpenCV_LIBS optional_opencv_libs)
-       endif()
-       message(STATUS "HAVE_OPENCV enabled")
-       message(STATUS "opencv libraries: ${OpenCV_LIBS}")
-       set(HAVE_OPENCV true)
-       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENCV")
-     else()
-       set (HAVE_OPENCV false)
-     endif()
-   endif()
-else()
-  set (HAVE_OPENCV false)
-endif()
+#if(WITH_OPENCV)
+#  if(CMAKE_TOOLCHAIN_FILE)
+#    if(EXISTS ${PROJECT_SOURCE_DIR}/include/opencv)
+#       set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_features2d opencv_flann)
+#       if(EXISTS ${PROJECT_SOURCE_DIR}/include/opencv2/imgcodecs)
+#         list(APPEND OpenCV_LIBS opencv_imgcodecs)
+#       endif()
+#       if(EXISTS ${PROJECT_SOURCE_DIR}/include/opencv2/videoio)
+#         list(APPEND OpenCV_LIBS opencv_videoio)
+#       endif()
+#       message(STATUS "HAVE_OPENCV enabled")
+#       message(STATUS "opencv libraries: ${OpenCV_LIBS}")
+#       set(HAVE_OPENCV true)
+#       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENCV")
+#    else()
+#      set (HAVE_OPENCV false)
+#    endif()
+#  else()
+#     set(OpenCV_FIND_QUIETLY true)
+#     #find_package(OpenCV REQUIRED) #this will include opencv_ts which result in crash on centos
+#     find_package(OpenCV OPTIONAL_COMPONENTS imgcodecs)
+#     find_package(OpenCV OPTIONAL_COMPONENTS videoio)
+#     set(optional_opencv_libs ${OpenCV_LIBS})
+#     find_package(OpenCV REQUIRED core imgproc highgui features2d)
+#     if(OpenCV_FOUND)
+#       if(imgcodecs_FOUND)
+#         list(APPEND OpenCV_LIBS optional_opencv_libs)
+#       endif()
+#       message(STATUS "HAVE_OPENCV enabled")
+#       message(STATUS "opencv libraries: ${OpenCV_LIBS}")
+#       set(HAVE_OPENCV true)
+#       set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENCV")
+#     else()
+#       set (HAVE_OPENCV false)
+#     endif()
+#   endif()
+#else()
+#  set (HAVE_OPENCV false)
+#endif()
+set(ENV{OpenCV_DIR} "/usr/local")
+find_package(OpenCV REQUIRED)
+include_directories(include ${OpenCV_INCLUDE_DIRS})
 
 # -- include
 include_directories(${PROJECT_SOURCE_DIR}/3rdparty/rapidjson/include/)

+ 21 - 11
docker/Dockerfile.infer

@@ -1,7 +1,11 @@
 # 配置miva推理镜像
 
 # Use L4T base docker
-FROM nvcr.io/nvidia/deepstream-l4t:5.1-21.02-samples
+#FROM nvcr.io/nvidia/deepstream-l4t:5.1-21.02-samples
+FROM nvcr.io/nvidia/deepstream-l4t:6.0-samples
+
+ARG with_zltoolkit_code=yes
+ARG with_opencv_code=yes
 
 # install基础依赖
 RUN apt-get update && \
@@ -11,22 +15,28 @@ RUN apt-get update && \
       libmysqlclient-dev \
       libssl-dev 
 
-# 拷贝文件
 COPY ./3rdparty/ZLToolKit.tar.gz /root
-COPY ./3rdparty/opencv.tar.gz /root
-
 # install zltoolkit
 RUN cd /root/ && tar -zxvf ZLToolKit.tar.gz 
 RUN cp -rf /root/ZLToolKit/lib/* /usr/local/lib/
 RUN cp -rf /root/ZLToolKit/include/* /usr/local/include/
 
-# install opencv
-RUN cd /root/ && tar -zxvf opencv.tar.gz
-RUN cp -rf /root/opencv/lib/* /usr/local/lib/
-RUN cp -rf /root/opencv/include/* /usr/local/include/
-
-# 清除缓冲
-# RUN rm ${HOME}/.cache/gstreamer-1.0/registry.*
+#RUN if [ "$with_zltoolkit_code" = "yes" ]; then \
+#    # apt remove ca-certificates && apt install -y --no-install-recommends apt-utils ca-certificates && \
+#    cd /root && git clone https://gitee.com/xia-chu/ZLToolKit.git ZLToolKit && \
+#    cd /root/ZLToolKit && \
+#    sed -i 's/sudo//g' build_for_linux.sh  && ./build_for_linux.sh && \
+#    rm -rf /root/ZLToolKit; \
+#    fi
+
+RUN if [ "$with_opencv_code" = "yes" ]; then \
+    cd /root && git clone -b 4.1.1 https://gitee.com/flay/opencv.git  && \
+    cd /root/opencv && mkdir build && cd /root/opencv/build && \
+    cmake .. && make -j4 && make install && \
+    rm -rf /root/opencv; \
+    fi
+
+WORKDIR /workspace
 
 
 

BIN
lib/libmiva_core.so


BIN
lib/libmodules.so


BIN
source/bin/main


+ 0 - 1
tooks/VERSION

@@ -1 +0,0 @@
-1.4.8

+ 0 - 8
tooks/build.sh

@@ -1,8 +0,0 @@
-USERNAME=192.168.31.174:8080/miva
-IMAGE=mivainfer
-
-cd ../docker/
-docker build -t $USERNAME/$IMAGE:latest -f ./Dockerfile.infer .
-IMAGE=mivadb
-# docker build -t $USERNAME/$IMAGE:latest -f ./Dockerfile.DbBase .
-docker commit mivadbDev $USERNAME/$IMAGE:latest

+ 0 - 16
tooks/buildDev.sh

@@ -1,16 +0,0 @@
-###
- # @Description: 
- # @Version: 1.0
- # @Autor: lishengyin
- # @Date: 2022-02-22 10:52:11
- # @LastEditors: lishengyin
- # @LastEditTime: 2022-02-22 11:03:13
-### 
-#!/bin/bash
-
-# 构建开发环境
-# mivainfer
-docker run -it -d --net=host --runtime nvidia --name=mivaDev -e DISPLAY=$DISPLAY -w /workspace -v /tmp/.X11-unix/:/tmp/.X11-unix -v ~/work/pace/:/workspace mivainfer:dev
-
-# mysql
-docker run -it -d --name mivadbDev -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=123456 mivadb:dev

+ 0 - 3
tooks/cheack_fd.sh

@@ -1,3 +0,0 @@
-#!/bin/bash
-
-lsof -p $(pidof main) | wc -l > ../data/state/fdState

+ 0 - 6
tooks/clear.sh

@@ -1,6 +0,0 @@
-#!/bin/bash
-
-sudo  rm -rf ../data/video/*
-sudo  rm -rf ../source/bin/log/*
-sudo  rm -rf ../build/*
-sudo  rm ../source/bin/core

+ 0 - 36
tooks/commitDev.sh

@@ -1,36 +0,0 @@
-###
- # @Description: 
- # @Version: 1.0
- # @Autor: lishengyin
- # @Date: 2022-02-22 10:55:34
- # @LastEditors: lishengyin
- # @LastEditTime: 2022-02-22 14:02:04
-### 
-#!/bin/bash
-
-version=`cat VERSION`
-
-if [ -z "$version" ]; then
-    echo "版本号为空"
-    exit
-fi
-
-docker stop mivaDev mivadbDev
-
-# 提交开发环境
-docker commit mivaDev mivainfer:$version
-docker commit mivadbDev mivadb:$version
-
-# 清除原先的实例
-docker rm mivaDev mivadbDev
-
-docker rmi mivainfer:dev 
-docker rmi mivadb:dev
-
-docker tag mivainfer:$version mivainfer:dev
-docker tag mivadb:$version mivadb:dev
-
-docker rmi mivainfer:$version 
-docker rmi mivadb:$version
-
-./build.sh

+ 0 - 57
tooks/release.sh

@@ -1,57 +0,0 @@
-#!/bin/bash
-
-version=`cat VERSION`
-
-echo "version: $version"
-
-cp ../source/bin/main ../../../deploy/MIVA/source/bin/
-cp ../lib/* ../../../deploy/MIVA/lib
-# cp -rf ../source/config/* ../../../deploy/MIVA/source/config/
-echo "version: $version" > ../../../deploy/MIVA/version
-
-./clear.sh
-# run build
-./build.sh
-
-# tag source
-cd ../
-git add -A 
-git commit -m "version $version"
-git tag -a "$version" -m "version $version"
-git push MIVA master
-git push --tags MIVA master
-
-# tag deploy
-cd ../../deploy/MIVA
-git add -A 
-git commit -m "version $version"
-git tag -a "$version" -m "version $version"
-git push origin master
-git push --tags origin master
-
-# SET THE FOLLOWING VARIABLES
-# docker hub username
-USERNAME=192.168.31.174:8080/miva
-IMAGE=mivainfer
-docker tag $USERNAME/$IMAGE:latest $USERNAME/$IMAGE:$version
-IMAGE=mivadb
-docker tag $USERNAME/$IMAGE:latest $USERNAME/$IMAGE:$version
-# push it
-# mivainfer
-IMAGE=mivainfer
-docker push $USERNAME/$IMAGE:latest
-docker push $USERNAME/$IMAGE:$version
-
-# mivadb
-IMAGE=mivadb
-docker push $USERNAME/$IMAGE:latest
-docker push $USERNAME/$IMAGE:$version
-
-# remove
-IMAGE=mivadb
-docker rmi $USERNAME/$IMAGE:latest
-docker rmi $USERNAME/$IMAGE:$version
-
-IMAGE=mivainfer
-docker rmi $USERNAME/$IMAGE:latest
-docker rmi $USERNAME/$IMAGE:$version

+ 0 - 38
tooks/watchDog.py

@@ -1,38 +0,0 @@
-'''
-Description: 
-Version: 1.0
-Autor: lishengyin
-Date: 2022-01-14 10:11:13
-LastEditors: lishengyin
-LastEditTime: 2022-01-14 14:49:21
-'''
-# 简易UDP看门狗
-import time
-import socket
-import os
-
-def resetMiva():
-    # 查询PID
-    result = os.popen('pidof main').readlines()
-    if len(result):
-        Ctime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
-        os.popen('echo "' + Ctime + ' MIVA卡死" >> ./watchDog.log')
-        # 判定为卡死
-        os.popen('killall main').readlines()
-        
-if __name__ == '__main__':
-    # 2、创建套接字
-    udp_socket_server = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
-    udp_socket_server.settimeout(30)
-    # 3、绑定服务端的IP和端口
-    udp_socket_server.bind(("",9527))
-    
-    try:
-        udp_socket_server.settimeout(30)
-        # 4、接收客户端的信息
-        recv_data,ip_port = udp_socket_server.recvfrom(1024)
-    except socket.timeout:
-        print("超时没收到")
-        resetMiva()
-    # 7、关闭套接字
-    udp_socket_server.close()