Tôi có một hình ảnh mà trông như thế này:MATLAB xử lý hình ảnh của vòng tròn nhỏ
Tôi có một công việc mà tôi nên khoanh tròn tất cả các chai xung quanh việc mở của họ. Tôi đã tạo một thuật toán đơn giản và bắt đầu làm việc đó. Thuật toán của tôi sau:
- Threshold ảnh gốc
- Do một số mở hình thái trong đó
- Điền các lỗ rỗng
- riêng phần của hình ảnh sử dụng đạo cụ khu vực như vậy mà chỉ khu vực này tương đương với miệng của chai được chọn.
- Tìm centroid cho mỗi vòng tròn và vẽ xung quanh mỗi chai.
Tôi đã làm theo thuật toán ở trên và tôi có một số phần của hình ảnh xung quanh mà tôi vẽ một vòng tròn. Điều này là do tôi đã chọn khu vực từ khu vực miệng chai và tiếng ồn vẫn gần như giống nhau. Và vì vậy tôi mang lại một con số như thế này.
Việc xử lý áp dụng trên giao diện hình ảnh như thế này:
Và hình ảnh cuối cùng của tôi sau khi vẽ vòng tròn trên ảnh gốc là như thế này:
Tôi nghĩ Tôi có thể đối phó với vòng tròn thêm, đó là, vì một số phần màu trắng của hình ảnh vẫn như trong hình 2 bên dưới. Điều này có thể được lọc ra bằng cách sử dụng regionproping cho lập dị. Đó có phải là một ý tưởng tốt hay có một số cách tiếp cận khác cho điều này? Làm thế nào tôi sẽ đối phó với các chai khác phía sau kính và chọn chúng?
một ý tưởng khác là sử dụng [Biến đổi thô] (http://en.wikipedia.org/wiki/Hough_transform) thành [phát hiện vòng kết nối] (http://www.cis.rit.edu/class/simg782/lectures) /lecture_10/lec782_05_10.pdf) – Amro
bản sao có thể có của [Thuật toán kết hợp vòng tròn tốt nhất] (http://stackoverflow.com/questions/4387488/the-best-circle-fitting-algorithm) – abcd
Có một số triển khai MATLAB có sẵn miễn phí [biến đổi Hough tròn] (http://www.mathworks.com/matlabcentral/fileexchange/?term=hough+transform+circle) trên MATLAB Central File Exchange. –