From 618f01fcc9c13ff736886775804968d4419ad3c7 Mon Sep 17 00:00:00 2001
From: jta <1572427964@qq.com>
Date: 星期四, 05 十二月 2024 12:27:17 +0800
Subject: [PATCH] Merge branch 'master' of ssh://115.28.86.8:29418/~admin/脸谱AI_0817_1202

---
 GroupB_马喜龙/Server/卢飞鹏/document/~$志封装、生成.docx                   |    0 
 GroupB_马喜龙/Public/脸谱-项目计划表-B组.xlsx                             |    0 
 GroupB_马喜龙/Client/石蕊/code/test_fp_login/test_fp_login.pro.user |    6 +-
 GroupA_何敬治/公共/脸谱项目-项目计划表.xlsx                                  |    0 
 GroupB_马喜龙/Client/周浩/code/存放代码.txt                             |  122 ++++++++++++++++++++++++++++++++++++++++
 GroupA_何敬治/Server/崔雨/document/CNN模型搭建 -图像管理.docx               |    0 
 GroupB_马喜龙/Client/石蕊/document/注册、登录、权限管理.docx                  |    0 
 GroupB_马喜龙/Server/卢飞鹏/document/日志封装、生成.docx                    |    0 
 GroupA_何敬治/Client/何敬治/document/历史回放功能模块文档.docx                 |    0 
 GroupB_马喜龙/Client/周浩/document/考勤识别与管理.docx                     |    0 
 GroupA_何敬治/Server/兰天翔/document/【第三版】日志-版本管理.docx               |    0 
 11 files changed, 125 insertions(+), 3 deletions(-)

diff --git "a/GroupA_\344\275\225\346\225\254\346\262\273/Client/\344\275\225\346\225\254\346\262\273/document/\345\216\206\345\217\262\345\233\236\346\224\276\345\212\237\350\203\275\346\250\241\345\235\227\346\226\207\346\241\243.docx" "b/GroupA_\344\275\225\346\225\254\346\262\273/Client/\344\275\225\346\225\254\346\262\273/document/\345\216\206\345\217\262\345\233\236\346\224\276\345\212\237\350\203\275\346\250\241\345\235\227\346\226\207\346\241\243.docx"
new file mode 100644
index 0000000..5b4cc7d
--- /dev/null
+++ "b/GroupA_\344\275\225\346\225\254\346\262\273/Client/\344\275\225\346\225\254\346\262\273/document/\345\216\206\345\217\262\345\233\236\346\224\276\345\212\237\350\203\275\346\250\241\345\235\227\346\226\207\346\241\243.docx"
Binary files differ
diff --git "a/GroupA_\344\275\225\346\225\254\346\262\273/Server/\345\205\260\345\244\251\347\277\224/document/\343\200\220\347\254\254\344\270\211\347\211\210\343\200\221\346\227\245\345\277\227-\347\211\210\346\234\254\347\256\241\347\220\206.docx" "b/GroupA_\344\275\225\346\225\254\346\262\273/Server/\345\205\260\345\244\251\347\277\224/document/\343\200\220\347\254\254\344\270\211\347\211\210\343\200\221\346\227\245\345\277\227-\347\211\210\346\234\254\347\256\241\347\220\206.docx"
new file mode 100644
index 0000000..445b392
--- /dev/null
+++ "b/GroupA_\344\275\225\346\225\254\346\262\273/Server/\345\205\260\345\244\251\347\277\224/document/\343\200\220\347\254\254\344\270\211\347\211\210\343\200\221\346\227\245\345\277\227-\347\211\210\346\234\254\347\256\241\347\220\206.docx"
Binary files differ
diff --git "a/GroupA_\344\275\225\346\225\254\346\262\273/Server/\345\264\224\351\233\250/document/CNN\346\250\241\345\236\213\346\220\255\345\273\272 -\345\233\276\345\203\217\347\256\241\347\220\206.docx" "b/GroupA_\344\275\225\346\225\254\346\262\273/Server/\345\264\224\351\233\250/document/CNN\346\250\241\345\236\213\346\220\255\345\273\272 -\345\233\276\345\203\217\347\256\241\347\220\206.docx"
new file mode 100644
index 0000000..a48bf5e
--- /dev/null
+++ "b/GroupA_\344\275\225\346\225\254\346\262\273/Server/\345\264\224\351\233\250/document/CNN\346\250\241\345\236\213\346\220\255\345\273\272 -\345\233\276\345\203\217\347\256\241\347\220\206.docx"
Binary files differ
diff --git "a/GroupA_\344\275\225\346\225\254\346\262\273/\345\205\254\345\205\261/\350\204\270\350\260\261\351\241\271\347\233\256-\351\241\271\347\233\256\350\256\241\345\210\222\350\241\250.xlsx" "b/GroupA_\344\275\225\346\225\254\346\262\273/\345\205\254\345\205\261/\350\204\270\350\260\261\351\241\271\347\233\256-\351\241\271\347\233\256\350\256\241\345\210\222\350\241\250.xlsx"
index ce56249..cdbac60 100644
--- "a/GroupA_\344\275\225\346\225\254\346\262\273/\345\205\254\345\205\261/\350\204\270\350\260\261\351\241\271\347\233\256-\351\241\271\347\233\256\350\256\241\345\210\222\350\241\250.xlsx"
+++ "b/GroupA_\344\275\225\346\225\254\346\262\273/\345\205\254\345\205\261/\350\204\270\350\260\261\351\241\271\347\233\256-\351\241\271\347\233\256\350\256\241\345\210\222\350\241\250.xlsx"
Binary files differ
diff --git "a/GroupB_\351\251\254\345\226\234\351\276\231/Client/\345\221\250\346\265\251/code/\345\255\230\346\224\276\344\273\243\347\240\201.txt" "b/GroupB_\351\251\254\345\226\234\351\276\231/Client/\345\221\250\346\265\251/code/\345\255\230\346\224\276\344\273\243\347\240\201.txt"
index e69de29..0037255 100644
--- "a/GroupB_\351\251\254\345\226\234\351\276\231/Client/\345\221\250\346\265\251/code/\345\255\230\346\224\276\344\273\243\347\240\201.txt"
+++ "b/GroupB_\351\251\254\345\226\234\351\276\231/Client/\345\221\250\346\265\251/code/\345\255\230\346\224\276\344\273\243\347\240\201.txt"
@@ -0,0 +1,122 @@
+#include "stdafx.h"
+#include <iostream>
+#include <opencv2/opencv.hpp>
+
+#if defined(_WIN32)
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#pragma comment(lib, "ws2_64.lib")  
+#endif
+
+// 鎹曡幏鎽勫儚澶村浘鍍�
+cv::Mat captureImage() {
+	cv::VideoCapture cap(0);  // 鎵撳紑榛樿鎽勫儚澶达紝鍙寜闇�鏇存敼鍙傛暟閫夋嫨鍏朵粬鎽勫儚澶�
+	if (!cap.isOpened()) {
+		std::cerr << "鏃犳硶鎵撳紑鎽勫儚澶�" << std::endl;
+		return cv::Mat();
+	}
+	cv::Mat frame;
+	cap >> frame;
+	cap.release();
+	return frame;
+}
+
+// 杩炴帴鏈嶅姟绔嚱鏁�
+bool connectToServer(SOCKET& clientSocket) {
+	// 閰嶇疆鏈嶅姟绔湴鍧�淇℃伅
+	sockaddr_in serverAddr;
+	serverAddr.sin_family = AF_INET;
+	serverAddr.sin_port = htons(8888);  // 绔彛鍙�8888锛屽彲鎸夐渶淇敼
+
+										// 浣跨敤inet_pton鏇挎崲inet_addr
+	char ipAddress[] = "127.0.0.1";  // 鏈湴鍥炵幆鍦板潃锛屼篃鍙浛鎹负鐪熷疄IP锛岃繖閲屽畾涔変负瀛楃鏁扮粍
+	int inetResult = inet_pton(AF_INET, ipAddress, &serverAddr.sin_addr);
+	if (inetResult <= 0) {
+		std::cerr << "IP鍦板潃杞崲澶辫触" << std::endl;
+		return false;
+	}
+
+	// 鍒涘缓濂楁帴瀛�
+	clientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+	if (clientSocket == INVALID_SOCKET) {
+		std::cerr << "鍒涘缓濂楁帴瀛楀け璐�" << std::endl;
+#if defined(_WIN32)
+		WSACleanup();
+#endif
+		return false;
+	}
+
+	// 杩炴帴鏈嶅姟绔�
+	if (connect(clientSocket, (sockaddr*)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR) {
+		std::cerr << "杩炴帴鏈嶅姟绔け璐�" << std::endl;
+#if defined(_WIN32)
+		closesocket(clientSocket);
+		WSACleanup();
+#endif
+		return false;
+	}
+	return true;
+}
+
+// 灏嗗浘鐗囨暟鎹彂閫佸埌鏈嶅姟绔嚱鏁�
+void sendImage(SOCKET socket, const cv::Mat& image) {
+	std::vector<uchar> buffer;
+	cv::imencode(".jpg", image, buffer);  // 灏嗗浘鍍忕紪鐮佷负 JPEG 鏍煎紡锛屾柟渚夸紶杈�
+										  // 鍙戦�佹暟鎹暱搴︿俊鎭紙鍋囪鏈嶅姟绔寜杩欎釜绾﹀畾鏉ユ帴鏀讹級
+	int bufferSize = buffer.size();
+	send(socket, (const char*)&bufferSize, sizeof(bufferSize), 0);
+	// 鍙戦�佸浘鍍忔暟鎹湰韬�
+	send(socket, (const char*)buffer.data(), buffer.size(), 0);
+}
+
+// 浠庢湇鍔$鎺ユ敹娑堟伅鍑芥暟
+std::string receiveMessage(SOCKET socket) {
+	const int bufferSize = 1024;
+	char buffer[bufferSize];
+	int bytesReceived = recv(socket, buffer, bufferSize - 1, 0);
+	if (bytesReceived > 0) {
+		buffer[bytesReceived] = '\0';  // 娣诲姞瀛楃涓茬粨鏉熺
+		return std::string(buffer);
+	}
+	return "";
+}
+
+int main() {
+#if defined(_WIN32)
+	// 鍒濆鍖朩insock搴�
+	WSADATA wsaData;
+	int result = WSAStartup(MAKEWORD(2, 2), &wsaData);
+	if (result != 0) {
+		std::cerr << "WSAStartup 澶辫触: " << result << std::endl;
+		return -1;
+	}
+#endif
+
+	SOCKET clientSocket;
+	if (!connectToServer(clientSocket)) {
+		return -1;
+	}
+
+	cv::Mat image = captureImage();
+	if (image.empty()) {
+		// 鍏抽棴濂楁帴瀛楀苟娓呯悊锛圵indows涓嬶級
+#if defined(_WIN32)
+		closesocket(clientSocket);
+		WSACleanup();
+#endif
+		return -1;
+	}
+
+	sendImage(clientSocket, image);
+	std::string receiveResult = receiveMessage(clientSocket);
+	std::cout << "鎵撳崱缁撴灉锛� " << receiveResult << std::endl;
+
+	// 鍏抽棴濂楁帴瀛楀苟娓呯悊锛圵indows涓嬶級
+#if defined(_WIN32)
+	closesocket(clientSocket);
+	WSACleanup();
+#else
+	close(clientSocket);
+#endif
+	return 0;
+}
\ No newline at end of file
diff --git "a/GroupB_\351\251\254\345\226\234\351\276\231/Client/\345\221\250\346\265\251/document/\350\200\203\345\213\244\350\257\206\345\210\253\344\270\216\347\256\241\347\220\206.docx" "b/GroupB_\351\251\254\345\226\234\351\276\231/Client/\345\221\250\346\265\251/document/\350\200\203\345\213\244\350\257\206\345\210\253\344\270\216\347\256\241\347\220\206.docx"
new file mode 100644
index 0000000..1bcfb0d
--- /dev/null
+++ "b/GroupB_\351\251\254\345\226\234\351\276\231/Client/\345\221\250\346\265\251/document/\350\200\203\345\213\244\350\257\206\345\210\253\344\270\216\347\256\241\347\220\206.docx"
Binary files differ
diff --git "a/GroupB_\351\251\254\345\226\234\351\276\231/Client/\347\237\263\350\225\212/code/test_fp_login/test_fp_login.pro.user" "b/GroupB_\351\251\254\345\226\234\351\276\231/Client/\347\237\263\350\225\212/code/test_fp_login/test_fp_login.pro.user"
index 3ddd095..e4669f3 100644
--- "a/GroupB_\351\251\254\345\226\234\351\276\231/Client/\347\237\263\350\225\212/code/test_fp_login/test_fp_login.pro.user"
+++ "b/GroupB_\351\251\254\345\226\234\351\276\231/Client/\347\237\263\350\225\212/code/test_fp_login/test_fp_login.pro.user"
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.5.0, 2024-12-03T15:43:39. -->
+<!-- Written by QtCreator 4.5.0, 2024-12-04T10:18:06. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
@@ -285,8 +285,8 @@
     <value type="int" key="PE.EnvironmentAspect.Base">2</value>
     <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">test_fp_login</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/Qt/QtProject/test_fp_login/test_fp_login.pro</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">test_fp_login2</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/AI project/鑴歌氨AI_0817_1202/GroupB_椹枩榫�/Client/鐭宠晩/code/test_fp_login/test_fp_login.pro</value>
     <value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
     <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
     <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">test_fp_login.pro</value>
diff --git "a/GroupB_\351\251\254\345\226\234\351\276\231/Client/\347\237\263\350\225\212/document/\346\263\250\345\206\214\343\200\201\347\231\273\345\275\225\343\200\201\346\235\203\351\231\220\347\256\241\347\220\206.docx" "b/GroupB_\351\251\254\345\226\234\351\276\231/Client/\347\237\263\350\225\212/document/\346\263\250\345\206\214\343\200\201\347\231\273\345\275\225\343\200\201\346\235\203\351\231\220\347\256\241\347\220\206.docx"
new file mode 100644
index 0000000..ff9bd15
--- /dev/null
+++ "b/GroupB_\351\251\254\345\226\234\351\276\231/Client/\347\237\263\350\225\212/document/\346\263\250\345\206\214\343\200\201\347\231\273\345\275\225\343\200\201\346\235\203\351\231\220\347\256\241\347\220\206.docx"
Binary files differ
diff --git "a/GroupB_\351\251\254\345\226\234\351\276\231/Public/\350\204\270\350\260\261-\351\241\271\347\233\256\350\256\241\345\210\222\350\241\250-B\347\273\204.xlsx" "b/GroupB_\351\251\254\345\226\234\351\276\231/Public/\350\204\270\350\260\261-\351\241\271\347\233\256\350\256\241\345\210\222\350\241\250-B\347\273\204.xlsx"
index ce56249..906aeda 100644
--- "a/GroupB_\351\251\254\345\226\234\351\276\231/Public/\350\204\270\350\260\261-\351\241\271\347\233\256\350\256\241\345\210\222\350\241\250-B\347\273\204.xlsx"
+++ "b/GroupB_\351\251\254\345\226\234\351\276\231/Public/\350\204\270\350\260\261-\351\241\271\347\233\256\350\256\241\345\210\222\350\241\250-B\347\273\204.xlsx"
Binary files differ
diff --git "a/GroupB_\351\251\254\345\226\234\351\276\231/Server/\345\215\242\351\243\236\351\271\217/document/~$\345\277\227\345\260\201\350\243\205\343\200\201\347\224\237\346\210\220.docx" "b/GroupB_\351\251\254\345\226\234\351\276\231/Server/\345\215\242\351\243\236\351\271\217/document/~$\345\277\227\345\260\201\350\243\205\343\200\201\347\224\237\346\210\220.docx"
new file mode 100644
index 0000000..c5f5200
--- /dev/null
+++ "b/GroupB_\351\251\254\345\226\234\351\276\231/Server/\345\215\242\351\243\236\351\271\217/document/~$\345\277\227\345\260\201\350\243\205\343\200\201\347\224\237\346\210\220.docx"
Binary files differ
diff --git "a/GroupB_\351\251\254\345\226\234\351\276\231/Server/\345\215\242\351\243\236\351\271\217/document/\346\227\245\345\277\227\345\260\201\350\243\205\343\200\201\347\224\237\346\210\220.docx" "b/GroupB_\351\251\254\345\226\234\351\276\231/Server/\345\215\242\351\243\236\351\271\217/document/\346\227\245\345\277\227\345\260\201\350\243\205\343\200\201\347\224\237\346\210\220.docx"
new file mode 100644
index 0000000..106e8d9
--- /dev/null
+++ "b/GroupB_\351\251\254\345\226\234\351\276\231/Server/\345\215\242\351\243\236\351\271\217/document/\346\227\245\345\277\227\345\260\201\350\243\205\343\200\201\347\224\237\346\210\220.docx"
Binary files differ

--
Gitblit v1.8.0