mirror of
https://github.com/NanjingForestryUniversity/supermachine-wood.git
synced 2025-11-08 18:23:54 +00:00
修改了一个恶性bug
This commit is contained in:
parent
7ee701f0d8
commit
61396842af
14
QT_test.py
14
QT_test.py
@ -77,9 +77,11 @@ def rec_socket(recv_sock: socket.socket, cmd_type: str, ack: bool) -> bool:
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
socket_receive = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
socket_receive = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
socket_receive.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||||
socket_receive.bind(('127.0.0.1', 21123))
|
socket_receive.bind(('127.0.0.1', 21123))
|
||||||
socket_receive.listen(5)
|
socket_receive.listen(5)
|
||||||
socket_send = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
socket_send = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
socket_send.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||||
socket_send.bind(('127.0.0.1', 21122))
|
socket_send.bind(('127.0.0.1', 21122))
|
||||||
socket_send.listen(5)
|
socket_send.listen(5)
|
||||||
print('等待连接')
|
print('等待连接')
|
||||||
@ -91,8 +93,8 @@ def main():
|
|||||||
while True:
|
while True:
|
||||||
cmd = input().strip().upper()
|
cmd = input().strip().upper()
|
||||||
if cmd == 'IM':
|
if cmd == 'IM':
|
||||||
# img = cv2.imread(r"/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color/data/data20220919/dark/rgb60.png")
|
img = cv2.imread(r"/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color/data/data20220919/dark/rgb60.png")
|
||||||
img = cv2.imread(r"C:\Users\FEIJINTI\PycharmProjects\wood_color\data\data20220919\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)
|
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
|
||||||
img = np.asarray(img, dtype=np.float32)
|
img = np.asarray(img, dtype=np.float32)
|
||||||
width = img.shape[0]
|
width = img.shape[0]
|
||||||
@ -116,8 +118,8 @@ def main():
|
|||||||
# else:
|
# else:
|
||||||
# print('指令执行失败')
|
# print('指令执行失败')
|
||||||
elif cmd == 'TR':
|
elif cmd == 'TR':
|
||||||
# model = "/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color/data/data20220919"
|
model = "/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color/data/data20220919"
|
||||||
model = "C:/Users/FEIJINTI/PycharmProjects/wood_color/data/data20220919"
|
# model = "C:/Users/FEIJINTI/PycharmProjects/wood_color/data/data20220919"
|
||||||
model = model.encode('ascii')
|
model = model.encode('ascii')
|
||||||
length = len(model) + 4
|
length = len(model) + 4
|
||||||
length = length.to_bytes(4, byteorder='big')
|
length = length.to_bytes(4, byteorder='big')
|
||||||
@ -135,8 +137,8 @@ def main():
|
|||||||
# else:
|
# else:
|
||||||
# print('指令执行失败')
|
# print('指令执行失败')
|
||||||
elif cmd == 'MD':
|
elif cmd == 'MD':
|
||||||
# model = "/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color/models/model_2020-11-08_20-49.p"
|
model = "/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color/models/model_2020-11-08_20-49.p"
|
||||||
model = "C:/Users/FEIJINTI/PycharmProjects/wood_color/models/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')
|
model = model.encode('ascii')
|
||||||
length = len(model) + 4
|
length = len(model) + 4
|
||||||
length = length.to_bytes(4, byteorder='big')
|
length = length.to_bytes(4, byteorder='big')
|
||||||
|
|||||||
@ -7,5 +7,5 @@ Created on Nov 3 21:18:26 2020
|
|||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
|
|
||||||
ROOT_DIR = r"C:\Users\FEIJINTI\PycharmProjects\wood_color"
|
# ROOT_DIR = r"C:\Users\FEIJINTI\PycharmProjects\wood_color"
|
||||||
# ROOT_DIR = r"/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color"
|
ROOT_DIR = r"/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color"
|
||||||
@ -52,13 +52,14 @@ def main(is_debug=False):
|
|||||||
|
|
||||||
while not dual_sock.status:
|
while not dual_sock.status:
|
||||||
dual_sock.reconnect()
|
dual_sock.reconnect()
|
||||||
# model_path = os.path.join(ROOT_DIR, r"/Users/zhouchao/Library/CloudStorage/OneDrive-macrosolid/PycharmProjects/wood_color/models/model_2022-09-28_13-15.p")
|
model_path = os.path.join(ROOT_DIR, r"models/model_2022-09-28_13-15.p")
|
||||||
model_path = os.path.join(ROOT_DIR, r"C:\Users\FEIJINTI\PycharmProjects\wood_color\models\model_2022-09-28_13-15.p")
|
# model_path = os.path.join(ROOT_DIR, r"models\model_2022-09-28_13-15.p")
|
||||||
detector = WoodClass(w=4096, h=1200, n=3000, debug_mode=False)
|
detector = WoodClass(w=4096, h=1200, n=3000, debug_mode=False)
|
||||||
detector.load(path=model_path)
|
detector.load(path=model_path)
|
||||||
while True:
|
while True:
|
||||||
pack, next_pack = receive_sock(dual_sock)
|
pack, next_pack = receive_sock(dual_sock)
|
||||||
if pack == b"":
|
if pack == b"":
|
||||||
|
time.sleep(5)
|
||||||
dual_sock.reconnect()
|
dual_sock.reconnect()
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|||||||
13
utils.py
13
utils.py
@ -85,7 +85,8 @@ def try_connect(connect_ip: str, port_number: int, is_repeat: bool = False, max_
|
|||||||
connected_sock.connect((connect_ip, port_number))
|
connected_sock.connect((connect_ip, port_number))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
reconnect_time += 1
|
reconnect_time += 1
|
||||||
logging.error(f'第{reconnect_time}次连接失败\n {e}')
|
logging.error(f'第{reconnect_time}次连接失败... 5秒后重新连接...\n {e}')
|
||||||
|
time.sleep(5)
|
||||||
continue
|
continue
|
||||||
logging.warning(f'{"重新" if is_repeat else ""}连接成功')
|
logging.warning(f'{"重新" if is_repeat else ""}连接成功')
|
||||||
return True, connected_sock
|
return True, connected_sock
|
||||||
@ -125,9 +126,8 @@ class DualSock(PreSocket):
|
|||||||
def receive(self, *args, **kwargs) -> bytes:
|
def receive(self, *args, **kwargs) -> bytes:
|
||||||
return self.received_sock.receive(*args, **kwargs)
|
return self.received_sock.receive(*args, **kwargs)
|
||||||
|
|
||||||
# def set_prepack(self, pre_pack: bytes):
|
def set_prepack(self, pre_pack: bytes):
|
||||||
# temp = self.pre_pack
|
self.received_sock.set_prepack(pre_pack)
|
||||||
# self.pre_pack = temp + pre_pack
|
|
||||||
|
|
||||||
def reconnect(self, connect_ip='127.0.0.1', recv_port:int = 21122, send_port: int = 21123):
|
def reconnect(self, connect_ip='127.0.0.1', recv_port:int = 21122, send_port: int = 21123):
|
||||||
received_status, self.received_sock = try_connect(connect_ip=connect_ip, port_number=recv_port)
|
received_status, self.received_sock = try_connect(connect_ip=connect_ip, port_number=recv_port)
|
||||||
@ -135,7 +135,7 @@ class DualSock(PreSocket):
|
|||||||
return received_status and send_status
|
return received_status and send_status
|
||||||
|
|
||||||
|
|
||||||
def receive_sock(recv_sock: PreSocket, pre_pack: bytes = b'', time_out: float = -1.0, time_out_single=0.5) -> (
|
def receive_sock(recv_sock: PreSocket, pre_pack: bytes = b'', time_out: float = -1.0, time_out_single=5e20) -> (
|
||||||
bytes, bytes):
|
bytes, bytes):
|
||||||
"""
|
"""
|
||||||
从指定的socket中读取数据.
|
从指定的socket中读取数据.
|
||||||
@ -163,6 +163,9 @@ bytes, bytes):
|
|||||||
# logging.error(f'超时了,错误代码: \n{e}')
|
# logging.error(f'超时了,错误代码: \n{e}')
|
||||||
logging.info('运行中,等待指令..')
|
logging.info('运行中,等待指令..')
|
||||||
continue
|
continue
|
||||||
|
except socket.timeout as e:
|
||||||
|
logging.info('运行中,等待指令..')
|
||||||
|
continue
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f'遇见未知错误,错误代码: \n{e}')
|
logging.error(f'遇见未知错误,错误代码: \n{e}')
|
||||||
return b'', b''
|
return b'', b''
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user