diff --git a/QT_test.py b/QT_test.py index c3f2c23..43da10d 100644 --- a/QT_test.py +++ b/QT_test.py @@ -91,7 +91,7 @@ def main(): while True: cmd = input().strip().upper() if cmd == 'IM': - img = cv2.imread(r"C:\Users\FEIJINTI\PycharmProjects\wood_color\data\dark\rgb60.png") + img = cv2.imread(r"C:\Users\FEIJINTI\PycharmProjects\wood_color\data\data20220919\dark\rgb60.png") img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) width = img.shape[0] height = img.shape[1] @@ -113,7 +113,11 @@ def main(): else: print('指令执行失败') elif cmd == 'TR': - send_message = b'\xaa\x00\x00\x00\x05' + (' ' + cmd).upper().encode('ascii') + b'\xff\xff\xff\xbb' + model = "C:/Users/FEIJINTI/PycharmProjects/wood_color/data/data20220919" + model = model.encode('ascii') + length = len(model) + 4 + length = length.to_bytes(4, byteorder='big') + send_message = b'\xaa' + length + (' ' + cmd).upper().encode('ascii') + model + b'\xff\xff\xbb' socket_send_1.send(send_message) print('发送成功') if rec_socket(socket_send_2, cmd_type=cmd, ack=True): @@ -125,7 +129,7 @@ def main(): else: print('指令执行失败') elif cmd == 'MD': - model = "model_2020-11-08_20-49.p" + model = "C:/Users/FEIJINTI/PycharmProjects/wood_color/models/model_2020-11-08_20-49.p" model = model.encode('ascii') length = len(model) + 4 length = length.to_bytes(4, byteorder='big') diff --git a/classifer.py b/classifer.py index 48cccb8..83e08fc 100644 --- a/classifer.py +++ b/classifer.py @@ -307,10 +307,10 @@ class WoodClass(object): 获取图像数据 :return: x_data, y_data """ - data_dir = ROOT_DIR if data_dir is None else data_dir - dark_data = self.get_image_data(img_dir=os.path.join(data_dir, "data", "dark")) - middle_data = self.get_image_data(img_dir=os.path.join(data_dir, "data", "middle")) - light_data = self.get_image_data(img_dir=os.path.join(data_dir, "data", "light")) + data_dir = os.path.join(ROOT_DIR, "data", "data20220919") if data_dir is None else data_dir + dark_data = self.get_image_data(img_dir=os.path.join(data_dir, "dark")) + middle_data = self.get_image_data(img_dir=os.path.join(data_dir, "middle")) + light_data = self.get_image_data(img_dir=os.path.join(data_dir, "light")) if (dark_data is False) or (middle_data is False) or (light_data is False): return False x_data = np.vstack((dark_data, middle_data, light_data)) @@ -354,17 +354,17 @@ if __name__ == '__main__': # 初始化wood wood = WoodClass(w=4096, h=1200, n=3000, debug_mode=False) print("色彩纯度控制量{}/{}".format(wood.k, wood.n)) - wood.correct() + # wood.correct() # wood.load() # fit 相应的文件夹 - wood.fit_pictures(data_path=r"C:\Users\FEIJINTI\PycharmProjects\wood_color") + wood.fit_pictures(data_path=r"C:\Users\FEIJINTI\PycharmProjects\wood_color\data\data20220919") # 测试单张图片的预测,predict_mode=True表示导入本地的model, False为现场训练的 - pic = cv2.imread(r"./data/dark/rgb60.png") - start_time = time.time() - for i in range(100): - wood_color = wood.predict(pic) - end_time = time.time() - print("time consume:"+str((end_time - start_time)/100)) - print("wood_color:"+str(wood_color)) + # pic = cv2.imread(r"./data/dark/rgb60.png") + # start_time = time.time() + # for i in range(100): + # wood_color = wood.predict(pic) + # end_time = time.time() + # print("time consume:"+str((end_time - start_time)/100)) + # print("wood_color:"+str(wood_color)) diff --git a/utils.py b/utils.py index ab2a946..d1e5ec8 100644 --- a/utils.py +++ b/utils.py @@ -152,7 +152,7 @@ def receive_sock(recv_sock: PreSocket, pre_pack: bytes = b'') -> (bytes, bytes): return b'', b'' -def parse_protocol(data: bytes) -> (str, any): +def parse_protocol(data: bytes) -> (str, any): ''' 指令转换. @@ -181,7 +181,8 @@ def parse_protocol(data: bytes) -> (str, any): img = np.frombuffer(img, dtype=np.uint8).reshape((n_rows, n_cols, -1)) return cmd, img elif cmd == 'TR': - return cmd, None + data = data.decode('ascii') + return cmd, data elif cmd == 'MD': data = data.decode('ascii') return cmd, data