Giải thuật AutoCanny

Một phần của tài liệu Ứng dụng dobot magician trong hệ thống phân loại sản phẩm (Trang 36 - 38)

Bản chất của giải thuật tách biên Canny là như vậy, tuy nhiên trong đề tài này ta sẽ sử dụng một giải thuật tách biên cao cấp hơn của Canny đó là AutoCanny nhằm mục tiêu nhận diện biên vật thể chính xác hơn, các cạnh biên đều và mỏng hơn, không cần phải đi tìm giá trị các ngưỡng.

20

Khoa ĐT CLC – ĐHSPKT TP.HCM

Nếu chỉ sử dụng hàm Canny thông thường thì vấn đề đặt ra là ta phải xác định được các giá trị ngưỡng trên và ngưỡng dưới. Vậy câu hỏi đặt ra là làm thế nào để có thể tìm được các giá trị ngưỡng tối ưu cho nó nếu xảy ra trường hợp ta phải xử lý nhiều hình ảnh khác nhau trong các điều kiện ánh sáng khác nhau? Tuy nhiên đối với giải thuật AutoCanny, ta sẽ không cần quan tâm đến việc điều chỉnh các giá trị ngưỡng ra sao nhưng vẫn sẽ có được kết quả là một ảnh được tách biên một cách hoàn hảo.

Hình 2. 25 Ảnh tách biên sử dụng giải thuật AutoCanny

Cấu trúc hàm của giải thuật Canny lúc này sẽ là:

Hình 2. 26 Hàm tách biên AutoCanny trong Python

Đầu tiên, ta tính mật độ pixel trung bình trong ảnh đầu vào. Sau đó, lấy giá trị trung bình này để cấu thành nên hai thành phần: ngưỡng dưới (lower) và ngưỡng trên (upper). Các ngưỡng này được xây dựng dựa trên tỷ lệ phần trăm cộng trừ, điều chỉnh bởi tham số sigma. Giá trị sigma thấp sẽ biểu thị ngưỡng chặt hơn, ngược lại giá trị sigma cao sẽ biểu thị ngưỡng rộng hơn. Tuy nhiên, ta sẽ không cần phải thay đổi giá trị mặc định sigma = 0,33 do tham số này cho kết quả tốt trên hầu hết các dữ liệu hình ảnh được thu thập trong đề tài này.

21

Khoa ĐT CLC – ĐHSPKT TP.HCM

Một phần của tài liệu Ứng dụng dobot magician trong hệ thống phân loại sản phẩm (Trang 36 - 38)