mirror of
https://github.com/NanjingForestryUniversity/supermachine-wood.git
synced 2025-11-08 18:23:54 +00:00
改掉了很多奇怪bug(zhenye.li修改)
This commit is contained in:
parent
13c413e7a7
commit
03346292b9
10
QT_test.py
10
QT_test.py
@ -91,7 +91,7 @@ def main():
|
|||||||
while True:
|
while True:
|
||||||
cmd = input().strip().upper()
|
cmd = input().strip().upper()
|
||||||
if cmd == 'IM':
|
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)
|
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
|
||||||
width = img.shape[0]
|
width = img.shape[0]
|
||||||
height = img.shape[1]
|
height = img.shape[1]
|
||||||
@ -113,7 +113,11 @@ def main():
|
|||||||
else:
|
else:
|
||||||
print('指令执行失败')
|
print('指令执行失败')
|
||||||
elif cmd == 'TR':
|
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)
|
socket_send_1.send(send_message)
|
||||||
print('发送成功')
|
print('发送成功')
|
||||||
if rec_socket(socket_send_2, cmd_type=cmd, ack=True):
|
if rec_socket(socket_send_2, cmd_type=cmd, ack=True):
|
||||||
@ -125,7 +129,7 @@ def main():
|
|||||||
else:
|
else:
|
||||||
print('指令执行失败')
|
print('指令执行失败')
|
||||||
elif cmd == 'MD':
|
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')
|
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')
|
||||||
|
|||||||
26
classifer.py
26
classifer.py
@ -307,10 +307,10 @@ class WoodClass(object):
|
|||||||
获取图像数据
|
获取图像数据
|
||||||
:return: x_data, y_data
|
:return: x_data, y_data
|
||||||
"""
|
"""
|
||||||
data_dir = ROOT_DIR if data_dir is None else data_dir
|
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, "data", "dark"))
|
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, "data", "middle"))
|
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, "data", "light"))
|
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):
|
if (dark_data is False) or (middle_data is False) or (light_data is False):
|
||||||
return False
|
return False
|
||||||
x_data = np.vstack((dark_data, middle_data, light_data))
|
x_data = np.vstack((dark_data, middle_data, light_data))
|
||||||
@ -354,17 +354,17 @@ if __name__ == '__main__':
|
|||||||
# 初始化wood
|
# 初始化wood
|
||||||
wood = WoodClass(w=4096, h=1200, n=3000, debug_mode=False)
|
wood = WoodClass(w=4096, h=1200, n=3000, debug_mode=False)
|
||||||
print("色彩纯度控制量{}/{}".format(wood.k, wood.n))
|
print("色彩纯度控制量{}/{}".format(wood.k, wood.n))
|
||||||
wood.correct()
|
# wood.correct()
|
||||||
# wood.load()
|
# wood.load()
|
||||||
# fit 相应的文件夹
|
# 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为现场训练的
|
# 测试单张图片的预测,predict_mode=True表示导入本地的model, False为现场训练的
|
||||||
pic = cv2.imread(r"./data/dark/rgb60.png")
|
# pic = cv2.imread(r"./data/dark/rgb60.png")
|
||||||
start_time = time.time()
|
# start_time = time.time()
|
||||||
for i in range(100):
|
# for i in range(100):
|
||||||
wood_color = wood.predict(pic)
|
# wood_color = wood.predict(pic)
|
||||||
end_time = time.time()
|
# end_time = time.time()
|
||||||
print("time consume:"+str((end_time - start_time)/100))
|
# print("time consume:"+str((end_time - start_time)/100))
|
||||||
print("wood_color:"+str(wood_color))
|
# print("wood_color:"+str(wood_color))
|
||||||
|
|
||||||
|
|||||||
3
utils.py
3
utils.py
@ -181,7 +181,8 @@ def parse_protocol(data: bytes) -> (str, any):
|
|||||||
img = np.frombuffer(img, dtype=np.uint8).reshape((n_rows, n_cols, -1))
|
img = np.frombuffer(img, dtype=np.uint8).reshape((n_rows, n_cols, -1))
|
||||||
return cmd, img
|
return cmd, img
|
||||||
elif cmd == 'TR':
|
elif cmd == 'TR':
|
||||||
return cmd, None
|
data = data.decode('ascii')
|
||||||
|
return cmd, data
|
||||||
elif cmd == 'MD':
|
elif cmd == 'MD':
|
||||||
data = data.decode('ascii')
|
data = data.decode('ascii')
|
||||||
return cmd, data
|
return cmd, data
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user