Tôi đang cố gắng phát hiện hình chữ nhật bằng cách sử dụng OpenCV. Tuy nhiên, đôi khi điều này là khá khó khăn sau khi chạy phương pháp Canny, bởi vì hai trong số các cạnh thường bị xóa. Tôi đã thử nhiều bộ ngưỡng khác nhau và làm mờ nó trước khi áp dụng Canny, nhưng tôi chưa có kết quả tích cực lớn. Hiện nay, tôi sẽ không làm mờ hình ảnh, vì vậy đây là khá nhiều những gì tôi đang làm:Phát hiện cạnh bằng cách sử dụng OpenCV (Canny)
Mat imgSource = Highgui.imread(filepath);
Imgproc.Canny(imgSource, imgSource, 300, 600, 5, true);
Ví dụ:
original http://imagizer.imageshack.us/a/img822/8776/27i9j.jpg Canny http://imagizer.imageshack.us/a/img841/9868/wkc95.jpg
Sau đó, tôi đang cố gắng phương pháp findContours của OpenCV để phát hiện hình chữ nhật, nó hoạt động 80% thời gian, làm thế nào tôi có thể cải thiện nó?
làm điểm bắt đầu, hãy thử làm cvtColor (imgSource, imgSource, CV_BGR2GRAY); ngưỡng (imgSource, imgSource, 25,255, THRESH_BINARY); và sau đó findContours –