8

Tôi có hình ảnh đích được tìm kiếm cho một đường cong dọc theo các cạnh của nó và hình ảnh mẫu có chứa đường cong. Những gì tôi cần đạt được là tìm ra kết quả phù hợp nhất của đường cong trong hình ảnh mẫu trong hình ảnh mục tiêu và dựa trên điểm số để tìm hiểu xem có khớp hay không. Điều đó cũng bao gồm xoay và thay đổi kích thước của đường cong. Hình ảnh mục tiêu có thể là đầu ra của đầu dò Canny Edge nếu điều đó làm cho mọi thứ trở nên dễ dàng hơn. Tôi đang xem xét sử dụng OpenCV (bằng cách sử dụng Python hoặc chế biến/Java hoặc nếu những người có quyền truy cập hạn chế vào các chức năng cần thiết, sau đó sử dụng C) để thực hiện những điều thực tế và hiệu quả, tuy nhiên không thể tìm ra nếu tôi có thể sử dụng bất kỳ chức năng (hoặc một sự kết hợp của chúng) trong OpenCV có thể sử dụng được cho công việc này. Tôi đã đọc qua tài liệu OpenCV và lúc đầu nghĩ rằng Contours có thể thực hiện công việc này, tuy nhiên tất cả các ví dụ đều cho thấy các hình dạng khép kín trái ngược với trường hợp của tôi, nơi tôi cần phải khớp với một đường cong mở đến một phần của cạnh.Kết hợp mẫu đường cong với các cạnh của hình ảnh

Vì vậy, có cách nào để thực hiện điều này bằng cách sử dụng OpenCV hoặc với bất kỳ mã hoặc thuật toán đã biết nào mà bạn đề xuất không?

Dưới đây là một số hình ảnh để minh họa cho vấn đề:

Template image containing the curve to be searched for

Input image to be searched for the template curve and to be matched to its edges; this can also be an edge-image, the output of a Canny Edge detector rather than the unprocessed input image

Resulting match - includes rotation and resizing

Trả lời

2

Suy nghĩ đầu tiên của tôi là Generalized Hough Transform. Tuy nhiên tôi không biết thực hiện tốt cho điều đó.

Tôi sẽ thử SIFT hoặc SURF trước tiên trên hình ảnh cạnh canny. Nó thường được sử dụng để tìm 2d khu vực, không phải 1d đường nét, nhưng nếu bạn lấy hộp giới hạn tối thiểu xung quanh đường viền của bạn và sử dụng nó như là mô hình tìm kiếm, nó sẽ làm việc.

OpenCV có một thực hiện cho rằng: Features2D + Homography to find a known object

Một vấn đề có thể nhận được một hình ảnh cạnh tốt, những hình dạng màu đen ở phía sau có thể mất tập trung.

Cũng xem câu trả lời Stackoverflow này: Image Processing: Algorithm Improvement for 'Coca-Cola Can' Recognition

+0

Cảm ơn, tôi sẽ cố gắng những điều này và quay trở lại đây để cung cấp cho thông tin về kết quả hoặc kết quả của tôi. – ali

+1

Có may mắn không, Ali? Xem thêm câu hỏi này, có tham chiếu đến câu hỏi của bạn: http://stackoverflow.com/questions/14530790/image-processing-match-curves-from-one-image-to-another – Rethunk

+0

Cảm ơn Rehunk, chưa từng thấy bình luận cho đến bây giờ; thời gian dài ... Tôi không có giải pháp thực sự, nhưng một phần nào đó đã làm công việc ngày càng ít hơn; các phép quay chậm và w/o: tôi đã sử dụng phép so sánh tương quan đơn giản bằng cách thay đổi kích cỡ mẫu thành các kích thước khác nhau, nhưng không trực tiếp với đường cong trên hình ảnh, nhưng trên hình ảnh cạnh được mã hóa màu, mỗi điểm cạnh có màu tương ứng cho độ dốc của nó. đường cong mẫu được mã hóa màu dựa trên độ dốc của đường cong trên mỗi điểm. Sau đó, tôi so sánh những màu sắc đó bằng mối tương quan và kết quả là ok cho một giải pháp hạn chế/thực tế ... – ali

Các vấn đề liên quan