浏览代码

1.AI部分测试完毕,目前能够正常运行,随机选了网络上的纯色背景无人机图像能够检测出来,但是对于公司内现存的一台无人机无法识别,尚不清楚原因是为啥

kappo 2 月之前
父节点
当前提交
e62c34ba94

+ 12 - 0
.gitignore

@@ -4067,3 +4067,15 @@ build/CMakeFiles/UVC_Demo.dir/GrpcTransfer/ImageService.pb.cc.o
 build/output.png
 build/output.png
 build/CMakeFiles/UVC_Demo.dir/AIManager/PPYOLOE.cpp.o
 build/CMakeFiles/UVC_Demo.dir/AIManager/PPYOLOE.cpp.o
 build/CMakeFiles/UVC_Demo.dir/AIManager/PPYOLOE.cpp.o
 build/CMakeFiles/UVC_Demo.dir/AIManager/PPYOLOE.cpp.o
+build/auv.jpg
+.gitignore
+build/uav.jpg
+build/uav1.jpg
+build/Ouput4k.jpg
+UVCGrabber/UVCCallBack.cpp
+build/CMakeFiles/UVC_Demo.dir/AIManager/PPYOLOE.cpp.o
+build/CMakeFiles/UVC_Demo.dir/ImageTest/ImageTest.cpp.o
+build/CMakeFiles/UVC_Demo.dir/AIManager/PPYOLOE.cpp.o
+build/.cmake/api/v1/reply/codemodel-v2-1f670aa76767fb2a485d.json
+build/.cmake/api/v1/reply/index-2025-02-20T07-09-31-0245.json
+build/.cmake/api/v1/reply/target-UVC_Demo-Debug-381338dbd1af2539fdd6.json

+ 6 - 4
AIManager/RKNNManager.cpp

@@ -27,22 +27,24 @@ void RKNNManager::taskThread(std::string modelpath)
     std::string pipeName = "rknn" + std::to_string(index);
     std::string pipeName = "rknn" + std::to_string(index);
     DataManager::getInstance().addDataPipe<DataPackage>(pipeName);
     DataManager::getInstance().addDataPipe<DataPackage>(pipeName);
 
 
-    //time test
+    // time test
     ImageTest::HighResolutionTimer timer;
     ImageTest::HighResolutionTimer timer;
 
 
-    while (m_threadSwitch)
+        while (m_threadSwitch)
     {
     {
         if (DataManager::getInstance().popData("resized" + std::to_string(index), dataPackage))
         if (DataManager::getInstance().popData("resized" + std::to_string(index), dataPackage))
         {
         {
-            
+
             timer.start();
             timer.start();
 
 
-            infer.infer(index, (unsigned char *)dataPackage->pResizeData, dataPackage->nResizeWidth, dataPackage->nResizeHeight);
+            infer.infer(index, (unsigned char *)dataPackage->pResizeData, dataPackage->nResizeWidth, dataPackage->nResizeHeight, dataPackage);
 
 
             timer.stop();
             timer.stop();
 
 
             std::cout << "infer time: " << timer.elapsed_milliseconds() << " ms" << std::endl;
             std::cout << "infer time: " << timer.elapsed_milliseconds() << " ms" << std::endl;
 
 
+            ImageTest::saveImageFromData((unsigned char *)dataPackage->pResizeData, dataPackage->nResizeWidth, dataPackage->nResizeHeight);
+
             continue;
             continue;
         }
         }
 
 

+ 1 - 1
AIManager/RKNNManager.h

@@ -21,7 +21,7 @@ public:
 
 
 private:
 private:
     RKNNManager() = default;
     RKNNManager() = default;
-    ~RKNNManager();
+    ~RKNNManager() = default;
 
 
     void taskThread(std::string modelData);
     void taskThread(std::string modelData);
 
 

+ 2 - 1
CMakeLists.txt

@@ -43,8 +43,9 @@ set(RGA_COLORTRANSFER ${CMAKE_CURRENT_SOURCE_DIR}/RGAColorTransfer/RgaColorTrans
 set(DATA_CONTROL ${CMAKE_CURRENT_SOURCE_DIR}/DataManager/DataManager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/DataManager/DataPipe.h)
 set(DATA_CONTROL ${CMAKE_CURRENT_SOURCE_DIR}/DataManager/DataManager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/DataManager/DataPipe.h)
 set(AI_SOURCE  ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/beforeProcess.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/postprocess.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/RKNNManager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/PPYOLOE.cpp)
 set(AI_SOURCE  ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/beforeProcess.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/postprocess.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/RKNNManager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/PPYOLOE.cpp)
 set(GRPC_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/GrpcTransfer/ImageService.pb.cc ${CMAKE_CURRENT_SOURCE_DIR}/GrpcTransfer/ImageService.grpc.pb.cc)
 set(GRPC_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/GrpcTransfer/ImageService.pb.cc ${CMAKE_CURRENT_SOURCE_DIR}/GrpcTransfer/ImageService.grpc.pb.cc)
+set(TEST_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/ImageTest/ImageTest.cpp)
 
 
-add_executable(${TARGET} ${SOURCES} ${UVC_CONTROL} ${MPP_DECODER} ${RGA_COLORTRANSFER} ${AI_SOURCE} ${DATA_CONTROL} ${GRPC_SOURCE})
+add_executable(${TARGET} ${SOURCES} ${UVC_CONTROL} ${MPP_DECODER} ${RGA_COLORTRANSFER} ${AI_SOURCE} ${DATA_CONTROL} ${GRPC_SOURCE} ${TEST_SOURCE})
 
 
 set_property(GLOBAL PROPERTY JOB_POOLS single_threaded=1)
 set_property(GLOBAL PROPERTY JOB_POOLS single_threaded=1)
 set_property(TARGET ${TARGET} PROPERTY JOB_POOL_COMPILE single_threaded)
 set_property(TARGET ${TARGET} PROPERTY JOB_POOL_COMPILE single_threaded)

+ 9 - 0
ImageTest/ImageTest.cpp

@@ -0,0 +1,9 @@
+#include "ImageTest.h"
+
+void ImageTest::saveImageFromData(unsigned char *data, int width, int height, const std::string &filename)
+{
+    cv::Mat image(height, width, CV_8UC3, data);
+    cv::Mat BGRImage;
+    cv::cvtColor(image, BGRImage, cv::COLOR_RGB2BGR);
+    cv::imwrite(filename, BGRImage);
+}

+ 1 - 5
ImageTest/ImageTest.h

@@ -9,11 +9,7 @@
 namespace ImageTest
 namespace ImageTest
 {
 {
 
 
-    void saveImageFromData(unsigned char *data, int width, int height, const std::string &filename = "./output.png")
-    {
-        cv::Mat image(height, width, CV_8UC3, data);
-        cv::imwrite(filename, image);
-    }
+    void saveImageFromData(unsigned char *data, int width, int height, const std::string &filename = "./output.png");
 
 
     class HighResolutionTimer
     class HighResolutionTimer
     {
     {

+ 1 - 2
MppDecoder/MppDecoder.h

@@ -13,12 +13,11 @@
 class MppDecoder
 class MppDecoder
 {
 {
 public:
 public:
-
     MppDecoder(const MppDecoder &) = delete;
     MppDecoder(const MppDecoder &) = delete;
     MppDecoder &operator=(const MppDecoder &) = delete;
     MppDecoder &operator=(const MppDecoder &) = delete;
 
 
     bool init();
     bool init();
-    int getDecodeIndex(){return m_index;}
+    int getDecodeIndex() { return m_index; }
     bool decodeJpegToRgb(const char *jpegData, size_t jpegSize, unsigned char **rgbData, int *width, int *height);
     bool decodeJpegToRgb(const char *jpegData, size_t jpegSize, unsigned char **rgbData, int *width, int *height);
 
 
     MppDecoder() = default;
     MppDecoder() = default;

+ 2 - 0
MppDecoder/MppManager.cpp

@@ -50,6 +50,8 @@ void MppManager::decodeThread()
                 std::cerr << "the decode result is different from defined !!" << std::endl;
                 std::cerr << "the decode result is different from defined !!" << std::endl;
             }
             }
 
 
+            // ImageTest::saveImageFromData((unsigned char *)dataPackage->pRGBData, dataPackage->nResizeWidth, dataPackage->nResizeHeight);
+
             // color transfer
             // color transfer
             resize_image(dataPackage->pRGBData, width, height, dataPackage->pResizeData, dataPackage->nResizeWidth, dataPackage->nResizeHeight);
             resize_image(dataPackage->pRGBData, width, height, dataPackage->pResizeData, dataPackage->nResizeWidth, dataPackage->nResizeHeight);
 
 

+ 19 - 0
UVCGrabber/UVCCallBack.cpp

@@ -29,9 +29,19 @@ void cbSaveToLocal(uvc_frame_t *frame, void *ptr)
   static const char *MJPEG_FILE = ".jpeg";
   static const char *MJPEG_FILE = ".jpeg";
   char filename[264];
   char filename[264];
   std::fstream log_file("CallBackLog.txt", std::ios::app);
   std::fstream log_file("CallBackLog.txt", std::ios::app);
+
   DataPackagePtr dataPackage = nullptr;
   DataPackagePtr dataPackage = nullptr;
   std::shared_ptr<DataPipe<DataPackage>> pipe;
   std::shared_ptr<DataPipe<DataPackage>> pipe;
 
 
+  // std::fstream readImage("./uav1.jpg", std::ios::binary | std::ios::in);
+  // if (!readImage)
+  // {
+  //   std::cerr << "不能打开文件 example.bin" << std::endl;
+  // }
+  // readImage.seekg(0, std::ios::end);
+  // std::streamsize fileSize = readImage.tellg();
+  // readImage.seekg(0, std::ios::beg);
+
   switch (frame->frame_format)
   switch (frame->frame_format)
   {
   {
   case UVC_FRAME_FORMAT_H264:
   case UVC_FRAME_FORMAT_H264:
@@ -56,6 +66,11 @@ void cbSaveToLocal(uvc_frame_t *frame, void *ptr)
 
 
     dataPackage = DataManager::getInstance().acquireDataBuffer<DataPackage>();
     dataPackage = DataManager::getInstance().acquireDataBuffer<DataPackage>();
 
 
+    // readImage.read((char *)dataPackage->pJpegData, fileSize);
+    // dataPackage->nJpegSize = fileSize;
+    // dataPackage->nWidth = 3840;
+    // dataPackage->nHeight = 2160;
+
     memcpy(dataPackage->pJpegData, frame->data, frame->data_bytes);
     memcpy(dataPackage->pJpegData, frame->data, frame->data_bytes);
 
 
     dataPackage->nJpegSize = frame->data_bytes;
     dataPackage->nJpegSize = frame->data_bytes;
@@ -65,6 +80,10 @@ void cbSaveToLocal(uvc_frame_t *frame, void *ptr)
 
 
     DataManager::getInstance().pushData<DataPackage>("uvc" + std::to_string(index), dataPackage);
     DataManager::getInstance().pushData<DataPackage>("uvc" + std::to_string(index), dataPackage);
 
 
+    // fp = fopen("./Ouput4k.jpg", "w");
+    // fwrite(frame->data, 1, frame->data_bytes, fp);
+    // fclose(fp);
+
     break;
     break;
   case UVC_COLOR_FORMAT_YUYV:
   case UVC_COLOR_FORMAT_YUYV:
     break;
     break;

+ 0 - 59
build/.cmake/api/v1/reply/codemodel-v2-5483daebed5c272329c1.json

@@ -1,59 +0,0 @@
-{
-	"configurations" : 
-	[
-		{
-			"directories" : 
-			[
-				{
-					"build" : ".",
-					"minimumCMakeVersion" : 
-					{
-						"string" : "3.16"
-					},
-					"projectIndex" : 0,
-					"source" : ".",
-					"targetIndexes" : 
-					[
-						0
-					]
-				}
-			],
-			"name" : "Debug",
-			"projects" : 
-			[
-				{
-					"directoryIndexes" : 
-					[
-						0
-					],
-					"name" : "libuvc",
-					"targetIndexes" : 
-					[
-						0
-					]
-				}
-			],
-			"targets" : 
-			[
-				{
-					"directoryIndex" : 0,
-					"id" : "UVC_Demo::@6890427a1f51a3e7e1df",
-					"jsonFile" : "target-UVC_Demo-Debug-2c1fe59394f9c7064413.json",
-					"name" : "UVC_Demo",
-					"projectIndex" : 0
-				}
-			]
-		}
-	],
-	"kind" : "codemodel",
-	"paths" : 
-	{
-		"build" : "/home/cat/UsbDevice/build",
-		"source" : "/home/cat/UsbDevice"
-	},
-	"version" : 
-	{
-		"major" : 2,
-		"minor" : 1
-	}
-}

+ 0 - 117
build/.cmake/api/v1/reply/index-2025-02-20T02-59-15-0157.json

@@ -1,117 +0,0 @@
-{
-	"cmake" : 
-	{
-		"generator" : 
-		{
-			"multiConfig" : false,
-			"name" : "Ninja"
-		},
-		"paths" : 
-		{
-			"cmake" : "/usr/bin/cmake",
-			"cpack" : "/usr/bin/cpack",
-			"ctest" : "/usr/bin/ctest",
-			"root" : "/usr/share/cmake-3.18"
-		},
-		"version" : 
-		{
-			"isDirty" : false,
-			"major" : 3,
-			"minor" : 18,
-			"patch" : 4,
-			"string" : "3.18.4",
-			"suffix" : ""
-		}
-	},
-	"objects" : 
-	[
-		{
-			"jsonFile" : "codemodel-v2-5483daebed5c272329c1.json",
-			"kind" : "codemodel",
-			"version" : 
-			{
-				"major" : 2,
-				"minor" : 1
-			}
-		},
-		{
-			"jsonFile" : "cache-v2-38ead7744d19cf1e5837.json",
-			"kind" : "cache",
-			"version" : 
-			{
-				"major" : 2,
-				"minor" : 0
-			}
-		},
-		{
-			"jsonFile" : "cmakeFiles-v1-dbc676674517fd770284.json",
-			"kind" : "cmakeFiles",
-			"version" : 
-			{
-				"major" : 1,
-				"minor" : 0
-			}
-		}
-	],
-	"reply" : 
-	{
-		"client-vscode" : 
-		{
-			"query.json" : 
-			{
-				"requests" : 
-				[
-					{
-						"kind" : "cache",
-						"version" : 2
-					},
-					{
-						"kind" : "codemodel",
-						"version" : 2
-					},
-					{
-						"kind" : "toolchains",
-						"version" : 1
-					},
-					{
-						"kind" : "cmakeFiles",
-						"version" : 1
-					}
-				],
-				"responses" : 
-				[
-					{
-						"jsonFile" : "cache-v2-38ead7744d19cf1e5837.json",
-						"kind" : "cache",
-						"version" : 
-						{
-							"major" : 2,
-							"minor" : 0
-						}
-					},
-					{
-						"jsonFile" : "codemodel-v2-5483daebed5c272329c1.json",
-						"kind" : "codemodel",
-						"version" : 
-						{
-							"major" : 2,
-							"minor" : 1
-						}
-					},
-					{
-						"error" : "unknown request kind 'toolchains'"
-					},
-					{
-						"jsonFile" : "cmakeFiles-v1-dbc676674517fd770284.json",
-						"kind" : "cmakeFiles",
-						"version" : 
-						{
-							"major" : 1,
-							"minor" : 0
-						}
-					}
-				]
-			}
-		}
-	}
-}

+ 0 - 950
build/.cmake/api/v1/reply/target-UVC_Demo-Debug-2c1fe59394f9c7064413.json

@@ -1,950 +0,0 @@
-{
-	"artifacts" : 
-	[
-		{
-			"path" : "UVC_Demo"
-		}
-	],
-	"backtrace" : 1,
-	"backtraceGraph" : 
-	{
-		"commands" : 
-		[
-			"add_executable",
-			"link_directories",
-			"target_link_directories",
-			"target_link_libraries",
-			"include_directories"
-		],
-		"files" : 
-		[
-			"CMakeLists.txt"
-		],
-		"nodes" : 
-		[
-			{
-				"file" : 0
-			},
-			{
-				"command" : 0,
-				"file" : 0,
-				"line" : 47,
-				"parent" : 0
-			},
-			{
-				"command" : 1,
-				"file" : 0,
-				"line" : 37,
-				"parent" : 0
-			},
-			{
-				"command" : 2,
-				"file" : 0,
-				"line" : 52,
-				"parent" : 0
-			},
-			{
-				"command" : 2,
-				"file" : 0,
-				"line" : 53,
-				"parent" : 0
-			},
-			{
-				"command" : 2,
-				"file" : 0,
-				"line" : 55,
-				"parent" : 0
-			},
-			{
-				"command" : 2,
-				"file" : 0,
-				"line" : 56,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 59,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 60,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 61,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 62,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 63,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 64,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 65,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 66,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 67,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 68,
-				"parent" : 0
-			},
-			{
-				"command" : 3,
-				"file" : 0,
-				"line" : 69,
-				"parent" : 0
-			},
-			{
-				"command" : 4,
-				"file" : 0,
-				"line" : 21,
-				"parent" : 0
-			},
-			{
-				"command" : 4,
-				"file" : 0,
-				"line" : 22,
-				"parent" : 0
-			},
-			{
-				"command" : 4,
-				"file" : 0,
-				"line" : 23,
-				"parent" : 0
-			},
-			{
-				"command" : 4,
-				"file" : 0,
-				"line" : 24,
-				"parent" : 0
-			},
-			{
-				"command" : 4,
-				"file" : 0,
-				"line" : 25,
-				"parent" : 0
-			},
-			{
-				"command" : 4,
-				"file" : 0,
-				"line" : 26,
-				"parent" : 0
-			},
-			{
-				"command" : 4,
-				"file" : 0,
-				"line" : 27,
-				"parent" : 0
-			}
-		]
-	},
-	"compileGroups" : 
-	[
-		{
-			"compileCommandFragments" : 
-			[
-				{
-					"fragment" : " -O0 -Wall -g2 -ggdb"
-				},
-				{
-					"fragment" : "-std=gnu++17"
-				}
-			],
-			"defines" : 
-			[
-				{
-					"backtrace" : 17,
-					"define" : "CARES_STATICLIB"
-				}
-			],
-			"includes" : 
-			[
-				{
-					"backtrace" : 18,
-					"path" : "/home/cat/UsbDevice/libuvc-0.0.7/include"
-				},
-				{
-					"backtrace" : 19,
-					"path" : "/home/cat/UsbDevice/PublicLibrary/rkmpp"
-				},
-				{
-					"backtrace" : 20,
-					"path" : "/home/cat/UsbDevice/PublicLibrary/rkrga/include"
-				},
-				{
-					"backtrace" : 21,
-					"path" : "/home/cat/UsbDevice/PublicLibrary/libuvc/include"
-				},
-				{
-					"backtrace" : 22,
-					"path" : "/home/cat/UsbDevice/3rdparty/rga/RK3588/include"
-				},
-				{
-					"backtrace" : 23,
-					"path" : "/home/cat/UsbDevice/3rdparty/mpp/include"
-				},
-				{
-					"backtrace" : 24,
-					"path" : "/home/cat/UsbDevice/runtime/RK3588/Linux/librknn_api/include"
-				},
-				{
-					"backtrace" : 10,
-					"isSystem" : true,
-					"path" : "/usr/include/opencv4"
-				},
-				{
-					"backtrace" : 16,
-					"isSystem" : true,
-					"path" : "/home/cat/grpcinstall/include"
-				}
-			],
-			"language" : "CXX",
-			"sourceIndexes" : 
-			[
-				0,
-				1,
-				2,
-				3,
-				4,
-				5,
-				7,
-				8,
-				9,
-				10,
-				11,
-				12,
-				13,
-				15,
-				16
-			]
-		}
-	],
-	"id" : "UVC_Demo::@6890427a1f51a3e7e1df",
-	"link" : 
-	{
-		"commandFragments" : 
-		[
-			{
-				"fragment" : "-O0 -Wall -g2 -ggdb",
-				"role" : "flags"
-			},
-			{
-				"fragment" : "",
-				"role" : "flags"
-			},
-			{
-				"backtrace" : 2,
-				"fragment" : "-L/home/cat/UsbDevice/PublicLibrary/libuvc/lib",
-				"role" : "libraryPath"
-			},
-			{
-				"backtrace" : 3,
-				"fragment" : "-L/home/cat/UsbDevice/runtime/RK3588/Linux/librknn_api/aarch64",
-				"role" : "libraryPath"
-			},
-			{
-				"backtrace" : 4,
-				"fragment" : "-L/home/cat/UsbDevice/3rdparty/rga/RK3588/lib/Linux/aarch64",
-				"role" : "libraryPath"
-			},
-			{
-				"backtrace" : 5,
-				"fragment" : "-L/home/cat/UsbDevice/3rdparty/mpp/Linux/aarch64",
-				"role" : "libraryPath"
-			},
-			{
-				"backtrace" : 6,
-				"fragment" : "-L/home/cat/UsbDevice/libuvc-0.0.7/libuvc-0.0.7/build",
-				"role" : "libraryPath"
-			},
-			{
-				"fragment" : "-Wl,-rpath,/home/cat/UsbDevice/PublicLibrary/libuvc/lib:/home/cat/UsbDevice/runtime/RK3588/Linux/librknn_api/aarch64:/home/cat/UsbDevice/3rdparty/rga/RK3588/lib/Linux/aarch64:/home/cat/UsbDevice/3rdparty/mpp/Linux/aarch64:/home/cat/UsbDevice/libuvc-0.0.7/libuvc-0.0.7/build",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 7,
-				"fragment" : "-lrknnrt",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-Wl,-Bstatic",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 8,
-				"fragment" : "-lrga",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-Wl,-Bdynamic",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 9,
-				"fragment" : "-lpthread",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 10,
-				"fragment" : "/usr/lib/aarch64-linux-gnu/libopencv_imgcodecs.so.4.5.1",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-Wl,-Bstatic",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 11,
-				"fragment" : "-ljpeg",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-Wl,-Bdynamic",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 12,
-				"fragment" : "-lusb-1.0",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 13,
-				"fragment" : "-lgpiod",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 14,
-				"fragment" : "-luvc",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 15,
-				"fragment" : "-lrockchip_mpp",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 16,
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_parse.a",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 17,
-				"fragment" : "/home/cat/grpcinstall/lib/libgrpc++_reflection.a",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 17,
-				"fragment" : "/home/cat/grpcinstall/lib/libgrpc++.a",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 17,
-				"fragment" : "/home/cat/grpcinstall/lib/libprotobuf.a",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 10,
-				"fragment" : "/usr/lib/aarch64-linux-gnu/libopencv_imgproc.so.4.5.1",
-				"role" : "libraries"
-			},
-			{
-				"backtrace" : 10,
-				"fragment" : "/usr/lib/aarch64-linux-gnu/libopencv_core.so.4.5.1",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_usage.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_usage_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-pthread",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_leak_check.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_die_if_null.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_initialize.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libutf8_validity.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libgrpc.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_statusor.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libupb_json_lib.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libupb_textformat_lib.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libupb_mini_descriptor_lib.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libupb_wire_lib.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libutf8_range_lib.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libupb_message_lib.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libupb_base_lib.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libupb_mem_lib.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libre2.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libz.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libcares.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libgpr.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_check_op.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_reflection.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_config.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_program_name.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_private_handle_accessor.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_commandlineflag.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_commandlineflag_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_raw_hash_set.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_hashtablez_sampler.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_conditions.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_message.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_nullguard.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_examine_stack.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_format.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_proto.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_log_sink_set.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_globals.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_sink.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_entry.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_globals.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_hash.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_city.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_low_level_hash.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_vlog_config_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_internal_fnmatch.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_distributions.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_seed_sequences.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_internal_pool_urbg.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_internal_randen.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_internal_randen_hwaes.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_internal_randen_hwaes_impl.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_internal_randen_slow.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_internal_platform.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_internal_seed_material.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_random_seed_gen_exception.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_status.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_cord.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_cordz_info.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_cord_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_cordz_functions.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_exponential_biased.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_cordz_handle.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_synchronization.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_graphcycles_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_kernel_timeout_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_crc_cord_state.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_crc32c.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_crc_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_crc_cpu_detect.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_strerror.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_stacktrace.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_symbolize.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_malloc_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_debugging_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_demangle_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_demangle_rust.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_decode_rust_punycode.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_utf8_for_code_point.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_time.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_civil_time.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_time_zone.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_bad_variant_access.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_flags_marshalling.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_bad_optional_access.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_str_format_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_strings.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_strings_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_string_view.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_base.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_spinlock_wait.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-lrt",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_int128.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_throw_delegate.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_raw_logging_internal.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libabsl_log_severity.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libssl.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libcrypto.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "/home/cat/grpcinstall/lib/libaddress_sorting.a",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-ldl",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-lm",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-lpthread",
-				"role" : "libraries"
-			},
-			{
-				"fragment" : "-lrt",
-				"role" : "libraries"
-			}
-		],
-		"language" : "CXX"
-	},
-	"name" : "UVC_Demo",
-	"nameOnDisk" : "UVC_Demo",
-	"paths" : 
-	{
-		"build" : ".",
-		"source" : "."
-	},
-	"sourceGroups" : 
-	[
-		{
-			"name" : "Source Files",
-			"sourceIndexes" : 
-			[
-				0,
-				1,
-				2,
-				3,
-				4,
-				5,
-				7,
-				8,
-				9,
-				10,
-				11,
-				12,
-				13,
-				15,
-				16
-			]
-		},
-		{
-			"name" : "Header Files",
-			"sourceIndexes" : 
-			[
-				6,
-				14
-			]
-		}
-	],
-	"sources" : 
-	[
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "gpio_explorer.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "main.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "UVCGrabber/UVCDeviceManager.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "UVCGrabber/UVCDevice.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "UVCGrabber/UVCCallBack.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "MppDecoder/MppDecoder.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"path" : "MppDecoder/MppDecoder.h",
-			"sourceGroupIndex" : 1
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "MppDecoder/MppManager.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "RGAColorTransfer/RgaColorTransfer.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "AIManager/beforeProcess.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "AIManager/postprocess.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "AIManager/RKNNManager.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "AIManager/PPYOLOE.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "DataManager/DataManager.cpp",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"path" : "DataManager/DataPipe.h",
-			"sourceGroupIndex" : 1
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "GrpcTransfer/ImageService.pb.cc",
-			"sourceGroupIndex" : 0
-		},
-		{
-			"backtrace" : 1,
-			"compileGroupIndex" : 0,
-			"path" : "GrpcTransfer/ImageService.grpc.pb.cc",
-			"sourceGroupIndex" : 0
-		}
-	],
-	"type" : "EXECUTABLE"
-}

二进制
build/CMakeFiles/UVC_Demo.dir/AIManager/PPYOLOE.cpp.o