From ee5e3a086a5dc145e7f5df3de32e0e072c183949 Mon Sep 17 00:00:00 2001
From: z8018 <1282578289@qq.com>
Date: 星期五, 06 六月 2025 15:19:40 +0800
Subject: [PATCH] 1

---
 project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/FaceAI/FaceDraw.cs |  290 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 145 insertions(+), 145 deletions(-)

diff --git a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/FaceAI/FaceDraw.cs b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/FaceAI/FaceDraw.cs
index 24033ed..b349f87 100644
--- a/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/FaceAI/FaceDraw.cs
+++ b/project/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/FaceAI/FaceDraw.cs
@@ -1,151 +1,151 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using OpenCvSharp;
-// 缁樺埗绫伙紝鐢讳汉鑴告锛岀敾鍏抽敭鐐圭瓑
-namespace FaceAI
-{
-    class FaceDraw
-    {
-        // 鐢讳汉鑴告
-        public static int draw_rects(ref Mat img, int face_num, BDFaceBBox[] info)
-        {
-            if (face_num <= 0)
-            {
-                return 0;
-            }
-            Scalar color = new Scalar(0, 255, 0);
-            for (int i = 0; i < face_num; i++)
-            {
-                int x = Convert.ToInt32(info[i].center_x - info[i].width / 2.0);
-                int y = Convert.ToInt32(info[i].center_y - info[i].height / 2.0);
-                int w = Convert.ToInt32(info[i].width);
-                int h = Convert.ToInt32(info[i].height);
-                Rect rect = new Rect(x, y, w, h);
-                Cv2.Rectangle(img, rect, color);
-            }
-            return 0;
-        }
-        // 鐢讳汉鑴告
-        public static int draw_rects(ref Mat img, int face_num, BDFaceTrackInfo[] track_info)
-        {          
-            if (face_num <= 0)
-            {
-                return 0;
-            }
-            Scalar color = new Scalar(0, 255, 0);
-            for(int i = 0; i < face_num; i++)
-            {
-                int x = Convert.ToInt32(track_info[i].box.center_x- track_info[i].box.width / 2.0);
-                int y = Convert.ToInt32(track_info[i].box.center_y - track_info[i].box.height / 2.0);
-                int w = Convert.ToInt32(track_info[i].box.width);
-                int h = Convert.ToInt32(track_info[i].box.height);
-                Rect rect = new Rect(x,y,w,h);
-                Cv2.Rectangle(img, rect, color);
-            }
-            return 0;
-        }
-        // 鐢讳汉鑴稿叧閿偣
-        public static int draw_shape(ref Mat img, int face_num, BDFaceTrackInfo[] track_info)
-        {
-            if (face_num <= 0)
-            {
-                return 0;
-            }
-            int face_id = 0;
-            Scalar color = new Scalar(0, 255, 255);
-            Scalar color2 = new Scalar(0, 0, 255);
-            for (int i = 0; i < face_num; ++i)
-            {
-                int point_size = track_info[i].landmark.size / 2;
-                int radius = 2;
-                face_id = track_info[i].face_id;
-                for (int j = 0; j < point_size; ++j)
-                {
-                    Cv2.Circle(img, (int)track_info[i].landmark.data[j * 2], (int)track_info[i].landmark.data[j * 2 + 1], radius, color);
-                }
-                if (point_size == 72)
-                {
-                    const int components = 9;
-                    int[] comp1 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
-                    int[] comp2 = { 13, 14, 15, 16, 17, 18, 19, 20, 13, 21 };
-                    int[] comp3 = { 22, 23, 24, 25, 26, 27, 28, 29, 22 };
-                    int[] comp4 = { 30, 31, 32, 33, 34, 35, 36, 37, 30, 38 };
-                    int[] comp5 = { 39, 40, 41, 42, 43, 44, 45, 46, 39 };
-                    int[] comp6 = { 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 47 };
-                    int[] comp7 = { 51, 57, 52 };
-                    int[] comp8 = { 58, 59, 60, 61, 62, 63, 64, 65, 58 };
-                    int[] comp9 = { 58, 66, 67, 68, 62, 69, 70, 71, 58 };
-                    int[][] idx = { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9 };
-                    int[] npoints = { 13, 10, 9, 10, 9, 11, 3, 9, 9 };
+锘�//using System;
+//using System.Collections.Generic;
+//using System.Linq;
+//using System.Text;
+//using System.Threading.Tasks;
+//using OpenCvSharp;
+//// 缁樺埗绫伙紝鐢讳汉鑴告锛岀敾鍏抽敭鐐圭瓑
+//namespace FaceAI
+//{
+//    class FaceDraw
+//    {
+//        // 鐢讳汉鑴告
+//        public static int draw_rects(ref Mat img, int face_num, BDFaceBBox[] info)
+//        {
+//            if (face_num <= 0)
+//            {
+//                return 0;
+//            }
+//            Scalar color = new Scalar(0, 255, 0);
+//            for (int i = 0; i < face_num; i++)
+//            {
+//                int x = Convert.ToInt32(info[i].center_x - info[i].width / 2.0);
+//                int y = Convert.ToInt32(info[i].center_y - info[i].height / 2.0);
+//                int w = Convert.ToInt32(info[i].width);
+//                int h = Convert.ToInt32(info[i].height);
+//                Rect rect = new Rect(x, y, w, h);
+//                Cv2.Rectangle(img, rect, color);
+//            }
+//            return 0;
+//        }
+//        // 鐢讳汉鑴告
+//        public static int draw_rects(ref Mat img, int face_num, BDFaceTrackInfo[] track_info)
+//        {          
+//            if (face_num <= 0)
+//            {
+//                return 0;
+//            }
+//            Scalar color = new Scalar(0, 255, 0);
+//            for(int i = 0; i < face_num; i++)
+//            {
+//                int x = Convert.ToInt32(track_info[i].box.center_x- track_info[i].box.width / 2.0);
+//                int y = Convert.ToInt32(track_info[i].box.center_y - track_info[i].box.height / 2.0);
+//                int w = Convert.ToInt32(track_info[i].box.width);
+//                int h = Convert.ToInt32(track_info[i].box.height);
+//                Rect rect = new Rect(x,y,w,h);
+//                Cv2.Rectangle(img, rect, color);
+//            }
+//            return 0;
+//        }
+//        // 鐢讳汉鑴稿叧閿偣
+//        public static int draw_shape(ref Mat img, int face_num, BDFaceTrackInfo[] track_info)
+//        {
+//            if (face_num <= 0)
+//            {
+//                return 0;
+//            }
+//            int face_id = 0;
+//            Scalar color = new Scalar(0, 255, 255);
+//            Scalar color2 = new Scalar(0, 0, 255);
+//            for (int i = 0; i < face_num; ++i)
+//            {
+//                int point_size = track_info[i].landmark.size / 2;
+//                int radius = 2;
+//                face_id = track_info[i].face_id;
+//                for (int j = 0; j < point_size; ++j)
+//                {
+//                    Cv2.Circle(img, (int)track_info[i].landmark.data[j * 2], (int)track_info[i].landmark.data[j * 2 + 1], radius, color);
+//                }
+//                if (point_size == 72)
+//                {
+//                    const int components = 9;
+//                    int[] comp1 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
+//                    int[] comp2 = { 13, 14, 15, 16, 17, 18, 19, 20, 13, 21 };
+//                    int[] comp3 = { 22, 23, 24, 25, 26, 27, 28, 29, 22 };
+//                    int[] comp4 = { 30, 31, 32, 33, 34, 35, 36, 37, 30, 38 };
+//                    int[] comp5 = { 39, 40, 41, 42, 43, 44, 45, 46, 39 };
+//                    int[] comp6 = { 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 47 };
+//                    int[] comp7 = { 51, 57, 52 };
+//                    int[] comp8 = { 58, 59, 60, 61, 62, 63, 64, 65, 58 };
+//                    int[] comp9 = { 58, 66, 67, 68, 62, 69, 70, 71, 58 };
+//                    int[][] idx = { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9 };
+//                    int[] npoints = { 13, 10, 9, 10, 9, 11, 3, 9, 9 };
 
-                    for (int m = 0; m < components; ++m)
-                    {
-                        for (int n = 0; n < npoints[m] - 1; ++n)
-                        {
-                            Point p1 = new Point(track_info[i].landmark.data[idx[m][n] * 2], track_info[i].landmark.data[idx[m][n] * 2 + 1]);
-                            Point p2 = new Point(track_info[i].landmark.data[idx[m][n + 1] * 2], track_info[i].landmark.data[idx[m][n + 1] * 2 + 1]);
-                            Cv2.Line(img, p1, p2, color2);
-                        }
-                    }
-                }
-                string s_face_id = face_id.ToString();
-                double font_scale = 2;
-                Point pos = new Point(track_info[i].box.center_x, track_info[i].box.center_y);
-                Cv2.PutText(img, s_face_id, pos, HersheyFonts.HersheyComplex, font_scale, new Scalar(0, 255, 255));              
-            }
+//                    for (int m = 0; m < components; ++m)
+//                    {
+//                        for (int n = 0; n < npoints[m] - 1; ++n)
+//                        {
+//                            Point p1 = new Point(track_info[i].landmark.data[idx[m][n] * 2], track_info[i].landmark.data[idx[m][n] * 2 + 1]);
+//                            Point p2 = new Point(track_info[i].landmark.data[idx[m][n + 1] * 2], track_info[i].landmark.data[idx[m][n + 1] * 2 + 1]);
+//                            Cv2.Line(img, p1, p2, color2);
+//                        }
+//                    }
+//                }
+//                string s_face_id = face_id.ToString();
+//                double font_scale = 2;
+//                Point pos = new Point(track_info[i].box.center_x, track_info[i].box.center_y);
+//                Cv2.PutText(img, s_face_id, pos, HersheyFonts.HersheyComplex, font_scale, new Scalar(0, 255, 255));              
+//            }
            
-            return 0;
-        }
+//            return 0;
+//        }
 
-        // 鐢讳汉鑴稿叧閿偣
-        public static int draw_landmark(ref Mat img, int face_num, BDFaceLandmark[] landmark)
-        {
-            if (face_num <= 0)
-            {
-                return 0;
-            }
-            Scalar color = new Scalar(0, 255, 255);
-            Scalar color2 = new Scalar(0, 0, 255);
-            for (int i = 0; i < face_num; ++i)
-            {
-                int point_size = landmark[i].size / 2;
-                int radius = 2;
-                for (int j = 0; j < point_size; ++j)
-                {
-                    Cv2.Circle(img, (int)landmark[i].data[j * 2], (int)landmark[i].data[j * 2 + 1], radius, color);
-                }
-                if (point_size == 72)
-                {
-                    const int components = 9;
-                    int[] comp1 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
-                    int[] comp2 = { 13, 14, 15, 16, 17, 18, 19, 20, 13, 21 };
-                    int[] comp3 = { 22, 23, 24, 25, 26, 27, 28, 29, 22 };
-                    int[] comp4 = { 30, 31, 32, 33, 34, 35, 36, 37, 30, 38 };
-                    int[] comp5 = { 39, 40, 41, 42, 43, 44, 45, 46, 39 };
-                    int[] comp6 = { 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 47 };
-                    int[] comp7 = { 51, 57, 52 };
-                    int[] comp8 = { 58, 59, 60, 61, 62, 63, 64, 65, 58 };
-                    int[] comp9 = { 58, 66, 67, 68, 62, 69, 70, 71, 58 };
-                    int[][] idx = { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9 };
-                    int[] npoints = { 13, 10, 9, 10, 9, 11, 3, 9, 9 };
+//        // 鐢讳汉鑴稿叧閿偣
+//        public static int draw_landmark(ref Mat img, int face_num, BDFaceLandmark[] landmark)
+//        {
+//            if (face_num <= 0)
+//            {
+//                return 0;
+//            }
+//            Scalar color = new Scalar(0, 255, 255);
+//            Scalar color2 = new Scalar(0, 0, 255);
+//            for (int i = 0; i < face_num; ++i)
+//            {
+//                int point_size = landmark[i].size / 2;
+//                int radius = 2;
+//                for (int j = 0; j < point_size; ++j)
+//                {
+//                    Cv2.Circle(img, (int)landmark[i].data[j * 2], (int)landmark[i].data[j * 2 + 1], radius, color);
+//                }
+//                if (point_size == 72)
+//                {
+//                    const int components = 9;
+//                    int[] comp1 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
+//                    int[] comp2 = { 13, 14, 15, 16, 17, 18, 19, 20, 13, 21 };
+//                    int[] comp3 = { 22, 23, 24, 25, 26, 27, 28, 29, 22 };
+//                    int[] comp4 = { 30, 31, 32, 33, 34, 35, 36, 37, 30, 38 };
+//                    int[] comp5 = { 39, 40, 41, 42, 43, 44, 45, 46, 39 };
+//                    int[] comp6 = { 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 47 };
+//                    int[] comp7 = { 51, 57, 52 };
+//                    int[] comp8 = { 58, 59, 60, 61, 62, 63, 64, 65, 58 };
+//                    int[] comp9 = { 58, 66, 67, 68, 62, 69, 70, 71, 58 };
+//                    int[][] idx = { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8, comp9 };
+//                    int[] npoints = { 13, 10, 9, 10, 9, 11, 3, 9, 9 };
 
-                    for (int m = 0; m < components; ++m)
-                    {
-                        for (int n = 0; n < npoints[m] - 1; ++n)
-                        {
-                            Point p1 = new Point(landmark[i].data[idx[m][n] * 2], landmark[i].data[idx[m][n] * 2 + 1]);
-                            Point p2 = new Point(landmark[i].data[idx[m][n + 1] * 2], landmark[i].data[idx[m][n + 1] * 2 + 1]);
-                            Cv2.Line(img, p1, p2, color2);
-                        }
-                    }
-                }
+//                    for (int m = 0; m < components; ++m)
+//                    {
+//                        for (int n = 0; n < npoints[m] - 1; ++n)
+//                        {
+//                            Point p1 = new Point(landmark[i].data[idx[m][n] * 2], landmark[i].data[idx[m][n] * 2 + 1]);
+//                            Point p2 = new Point(landmark[i].data[idx[m][n + 1] * 2], landmark[i].data[idx[m][n + 1] * 2 + 1]);
+//                            Cv2.Line(img, p1, p2, color2);
+//                        }
+//                    }
+//                }
 
 
-            }
-            return 0;
-        }
-    }
-}
+//            }
+//            return 0;
+//        }
+//    }
+//}

--
Gitblit v1.9.3