ỨNG DỤNG THỊ GIÁC MÁY TÍNH HUẤN LUYỆN THIẾT BỊ BAY KHÔNG NGƯỜI LÁI NHẬN DIỆN CÁC VẬT THỂ CÓ DẠNG HÌNH HỌC CƠ BẢN
hue-hujos-tt-7877.pdf · Phiên bản 1 · 19 trang
Hoàng Hữu Trung và CS. Tập 134, Số 2A, 2025 172 dữ liệu ảnh vật thể nằm mọi vị trí trong khung hình, giúp thuật toán CNN có thể nhận diện tốt hơn. Thuật toán này được biểu diễn bằng các đoạn mã Python được mô tả trong Thuật toán 1. Input: Ảnh đầu vào hệ màu đen trắng, kích thước ảnh đầu vào (height, width) Output: Bộ ảnh sau khi đã di chuyển đối tượng màu trắng trong ảnh // Đọc ảnh đầu vào img = cv2.imread("<đường dẫn file ảnh ban đầu>") // Chuyển ảnh sang hệ ảnh xám gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) // Áp dụng ngưỡng để chuyển đổi sang ảnh nhị phân, hệ màu đen trắng blackAndWhiteImage = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) // Lấy kích thước của ảnh nhị phân height, width = blackAndWhiteImage.shape // Vòng lặp 2 chiều di chuyển các điểm ảnh màu trắng trong ảnh for i in range(1, 24): // Tạo một ảnh mới để lưu trữ ảnh đã được di chuyển img_new = blackAndWhiteImage.copy() // Duyệt qua từng pixel theo hàng và cột (theo chiều từ phải sang trái) for h in range(height): for w in range(width - 1, -1, -1): // Kiểm tra nếu điểm ảnh không phải là màu đen (tức là điểm ảnh màu trắng) if blackAndWhiteImage[h][w] != 0: // Kiểm tra xem nếu di chuyển qua phải 10 pixel đã vượt qua giới hạn phải của ảnh chưa if w + 10 < width // điểm ảnh hiện tại đổi sang màu đen img_new[h][w] = 0 // điểm ảnh ở vị trí dịch chuyển sang 10 pixel sang màu trắng img_new[h][w + 10] = 255 // nếu di chuyển sang phải 10 pixels là vượt qua giới hạn ảnh else: // điểm ảnh ở vị trí hiện tại đổi sang màu đen img_new[h][w] = 0 // Lưu ảnh file_name = "<đường dẫn file ảnh lưu>" + str(i) + ".jpg"
cv2.imwrite(file_name, img_new) Thuật toán 1. Thuật toán python tạo bộ ảnh dữ liệu