diff --git a/src/main.h b/src/main.h new file mode 100644 index 0000000..dd91d70 --- /dev/null +++ b/src/main.h @@ -0,0 +1,95 @@ +#ifndef _ATK_YOLOV5_OBJECT_RECOGNIZE_H +#define _ATK_YOLOV5_OBJECT_RECOGNIZE_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define _BASETSD_H + +#include "im2d.h" +#include "rga.h" +#include "drm_func.h" +#include "rga_func.h" +#include "rknn_api.h" +#include "rkmedia_api.h" +#include "rkmedia_venc.h" +#include "sample_common.h" +#include "opencv2/opencv.hpp" + +#include "librtsp/rtsp_demo.h" +#include "rk_aiq_user_api_sysctl.h" +#include "rk_aiq_user_api_afec.h" +// #include "rk_aiq_uapi_afec_int.h" + +#include +#include +#include "opencv2/imgcodecs.hpp" + +using namespace cv; + + + +RK_U32 video_width = 1920; +RK_U32 video_height = 1072; +// RK_U32 video_height = 720; +int disp_width = 720; +int disp_height = 1280; + +static bool quit = false; +rtsp_demo_handle g_rtsplive = NULL; +static rtsp_session_handle g_rtsp_session; + +int rgb24_resize(unsigned char *input_rgb, unsigned char *output_rgb, int width,int height, int outwidth, int outheight); + +static unsigned char *load_model(const char *filename, int *model_size); + +static void printRKNNTensor(rknn_tensor_attr *attr); + +void *rkmedia_rknn_thread(void *args); +void *venc_rtsp_tidp(void *args); +void *upload_message(void *args); //上传检测信息与截取的图片 +void *upload_message_controller(void *args); +void *heart_beat(void *args); //上传心跳检测 +void *distortion(void *args); //矫正 +void *read_serial_thread(void *args); //读取串口传来的红外温度数据 + +struct Alarm { + int ifalarm; + int ifwarn; + std::string alarmMsg; + std::string alarmType; + std::string alarmBase64; + std::string alarmCoverage; + float alarmprop; +}; + +void initializeAlarm(Alarm* Alarm) { + // 初始化结构体成员 + Alarm->ifalarm = 0; + Alarm->ifwarn = 0; + Alarm->alarmMsg = "无"; + Alarm->alarmType = "无"; + Alarm->alarmBase64 = "无"; + Alarm->alarmCoverage = "无"; + Alarm->alarmprop = 0.0; +} + +void NV12ToRGB(int width, int height, unsigned char* nv12, Mat& rgb) { + // Step 1: Create a cv::Mat object for NV12 data + Mat nv12Mat(height + height / 2, width, CV_8UC1, nv12); + + // Step 2: Convert NV12 to RGB + cvtColor(nv12Mat, rgb, COLOR_YUV2RGB_NV12); +} + +#endif \ No newline at end of file