Hình 2. 11 Xử lý cạnh dùng hàm Canny
Trong hình ảnh, thường tồn tại các thành phần chính đó là vùng trơn, góc/cạnh và nhiễu. Một điểm ảnh có thể được coi là điểm biên nếu như ở đó có sự thay đổi nhanh hoặc thay đổi đột ngột về mức xám. Ví dụ trong ảnh nhị phân, điểm đen được coi là điểm biên nếu lân cận của nó có ít nhất một điểm trắng. Tập hợp các điểm biên liên tiếp tạo thành đường biên ảnh. Cạnh trong ảnh (đường biên ảnh) mang đặc trưng quan trọng thường là thuộc đối tượng ảnh, là những điểm mà tại đó cường độ sáng, bề mặt, màu sắc của ảnh liên tục có bước nhảy hoặc biến thiên nhanh (thay đổi đột ngột). Phát hiện biên là một công cụ quan trọng trong xử lý ảnh số, nó làm nổi bật lên những điểm ảnh mà tại đó có sự biến đổi lớn về giá trị mức sáng so với các điểm xung quanh, thực chất là tìm các đường bao quanh của đối tượng trong ảnh. Ngoài ra, nó làm giảm một cách đáng kể khối lượng dữ liệu cần tính toán do chỉ giữ lại những thông tin cần thiết đồng thời vẫn bảo toàn được những cấu trúc quan trọng trong ảnh. Để có thể phát hiện đường biên trong ảnh, giải thuật Canny là phương pháp phổ biến nhất do ít bị tác động bởi nhiễu, tạo ra được các đường biên mỏng, đều nhau và có khả năng phát hiện được cái đường biên yếu. Thuật toán phát hiện biên Canny được phát triển bởi John F. Canny tại phòng thí nghiệm MIT (Mỹ) vào năm 1986. Nó được sử dụng rộng rãi trong ngành công nghiệp xử lý ảnh hiện nay với tỉ lệ sai sót thấp (tìm ra tất cả các biên mà không biên nào bị bỏ sót), các điểm biên được xác định chính xác (khoảng cách giữa các điểm biên được tìm thấy và biên trong thực tế phải càng nhỏ càng tốt) và đáp ứng điểm đơn biên (không được phép chỉ ra nhiều biên trong khi chỉ có một biên tồn tại). John F. Canny đã giả thiết rằng một phương
12
Khoa ĐT CLC – ĐHSPKT TP.HCM
pháp tìm biên thực tế là một bộ lọc nhân xoắn có khả năng làm mịn nhiễu và định vị được cạnh. Công thức hàm Canny được viết trên ngôn ngữ lập trình Python là:
cv2.Canny(image, lower, upper)
trong đó, image là ảnh đầu vào mà ta cần xử lý, lower và upper lần lượt là các ngưỡng số nguyên do ta thiết lập, sẽ được trình bày trong phần lọc ngưỡng. Phát hiện cạnh Canny chỉ hoạt động trên nền ảnh xám vì vậy trước khi áp dụng giải thuật này ta cần phải chuyển đổi ảnh màu sang ảnh xám. Thuật toán Canny bao gồm 5 bước: