new
commit
a0ad2d6f39
|
@ -0,0 +1,51 @@
|
|||
import numpy as np
|
||||
import serial
|
||||
import struct
|
||||
|
||||
# Hàm gửi dữ liệu qua cổng serial
|
||||
def send_data(data):
|
||||
num_rows = data.shape[0]
|
||||
num_cols = data.shape[1]
|
||||
# Chuyển mảng thành chuỗi byte
|
||||
data_bytes = data.tobytes()
|
||||
# Đóng gói kích thước và dữ liệu
|
||||
header = struct.pack('<II', num_rows, num_cols) # <II cho hai số nguyên không dấu 32-bit
|
||||
data_to_send = header + data_bytes
|
||||
# Mở cổng serial
|
||||
ser = serial.Serial('/dev/ttyUSB0', 115200) # Thay 'COM3' bằng cổng serial của bạn
|
||||
# Gửi dữ liệu
|
||||
ser.write(data_to_send)
|
||||
# Đóng cổng serial
|
||||
ser.close()
|
||||
print("sending : ",data_to_send)
|
||||
|
||||
# Hàm scale tọa độ
|
||||
def scaled_image(coords, h_new, w_new):
|
||||
coords[:, 0] = (coords[:, 0] * w_new).astype(float) # Scale x
|
||||
coords[:, 1] = (coords[:, 1] * h_new).astype(float) # Scale y
|
||||
return coords
|
||||
|
||||
# Tạo test case
|
||||
def create_test_case(n):
|
||||
data = np.random.rand(n, 2).astype(np.float32) # Tạo tọa độ ngẫu nhiên
|
||||
return data
|
||||
|
||||
# Hàm chính để test
|
||||
def main():
|
||||
for n in range(11): # Test với n từ 0 đến 10
|
||||
data = create_test_case(n)
|
||||
print(f"Original data (n={n}):")
|
||||
print(data)
|
||||
|
||||
#h_old, w_old = 1080, 1920 # Kích thước ban đầu của ảnh
|
||||
h_new, w_new = 64, 64 # Kích thước mới của ảnh
|
||||
|
||||
scaled_data = scaled_image(data.copy(),h_new, w_new)
|
||||
print(f"Scaled data (n={n}):")
|
||||
print(scaled_data)
|
||||
|
||||
# Gửi dữ liệu qua cổng serial
|
||||
send_data(scaled_data)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue