10

Tôi có kiến ​​thức cơ bản về xử lý hình ảnh và hiện đang nghiên cứu sâu về cuốn sách "Xử lý hình ảnh kỹ thuật số" của Gonzales.Phát hiện một đối tượng trên hình ảnh dựa trên dạng hình học

Khi hình ảnh được đưa ra và đối tượng của biểu mẫu gần đúng sở thích được biết (ví dụ: hình tròn, hình tam giác), thuật toán/phương pháp tốt nhất để tìm đối tượng này trên hình ảnh là gì?

Vật thể có thể bị biến dạng một chút, vì vậy phương pháp tiếp cận vũ lực sẽ không giúp ích gì.

Trả lời

5

Tôi khuyên bạn nên sử dụng phép biến đổi Hough, cho phép bạn tìm bất kỳ mẫu đã cho nào được mô tả bằng phương trình. Hơn nữa, công cụ biến đổi Hough cũng hoạt động tốt cho các đối tượng bị biến dạng.

Thuật toán và triển khai thực hiện khá đơn giản. Chi tiết khác có thể tìm thấy tại đây: http://en.wikipedia.org/wiki/Hough_transform, thậm chí mã nguồn cho thuật toán này được bao gồm trên trang được tham chiếu (http://www.rob.cs.tu-bs.de/content/04-teaching/06-interactive/HNF.html).

Tôi hy vọng điều đó sẽ giúp ích cho bạn.

+0

Biến đổi hough là sức mạnh vũ phu, như bạn sẽ thấy. Nó hoạt động cho các đường, có thể là các vòng tròn. Tuy nhiên, không gian Hough phát nổ với các hình dạng với nhiều tham số hơn. – Ivan

3

tôi sẽ xem xét vấn đề của bạn theo hai bước:

  • đầu tiên tìm ranh giới ngoài của đối tượng của bạn: Tôi giả bạn đã tương phản đủ hình ảnh, mà bạn có thể dễ dàng ngưỡng để có được một nhị phân hình ảnh của đối tượng của bạn. Bạn cần trích xuất chuỗi chuỗi đối tượng.

  • sau đó phân tích hình dạng của ranh giới để suy ra các hình thức (hình tròn, đa giác, ...): Bạn có thể tính toán độ cong tại mỗi điểm của chuỗi ranh giới và do đó xác định có bao nhiêu góc nhọn (cong tức là cao giá trị) có trong hình dạng của bạn. Một số góc nhọn có nghĩa là bạn có một đa giác, không có nghĩa là bạn có một vòng tròn (độ cong không đổi).

Bạn có thể tìm mô tả cách lấy ranh giới đối tượng từ hình ảnh nhị phân và cách phân tích nó trong Gonzalez's Digital Image Processing, chapter 11.

Tôi cũng tìm thấy điều này insightful presentation on binary image analyis (PPT)matlab script thực hiện một số kỹ thuật mà Gonzalez nói về DIP.

+0

Nhận ra tôi đã trả lời một câu hỏi khác với những gì được hỏi. Tuy nhiên bạn vẫn có thể thử tìm các đối tượng theo cách này, và sau đó chỉ giữ lại các biểu mẫu mà bạn đang tìm kiếm. – Ivan

7

Bạn có thể thử sử dụng Biểu đồ định hướng Gradients (còn gọi là Biểu đồ định hướng cạnh). Chúng tôi đã sử dụng chúng để phát hiện các biển báo giao thông. http://en.wikipedia.org/wiki/Histogram_of_oriented_gradients và các giấy tờ của Bill Triggs sẽ giúp bạn bắt đầu.

1

Tôi thực sự khuyên bạn nên sử dụng OpenCV, đó là thư viện tầm nhìn tuyệt vời trên máy tính giúp ích rất nhiều với mọi thứ liên quan đến thị giác máy tính. Trang web của họ không thực sự hấp dẫn, cũng không hữu ích, nhưng API thực sự mạnh mẽ.

Một cuốn sách đã giúp tôi rất nhiều vì không có tải tài liệu trên web là Learning OpenCV. Tài liệu đi kèm với API là tốt, nhưng không tuyệt vời cho việc học cách sử dụng nó.

Liên quan đến vấn đề của bạn, bạn có thể sử dụng máy dò Canny Edge để tìm đường viền của mặt hàng của bạn và sau đó phân tích nó hoặc bạn có thể tiếp tục và Biến đổi Hough để tìm kiếm đường và vòng tròn.

1

bạn có thể đặc biệt thử 'nhận dạng khuôn mặt'.Bởi vì, bạn biết đó là một chủ đề cụ thể. Mặt khác 'phát hiện khuôn mặt' vv EmguCV có thể hữu ích cho bạn .. Nó là .Net wrapper vào thư viện xử lý ảnh Intel OpenCV.

1

Có vẻ như giáo sư Jean Rouat từ Đại học Sherbooke, đã tìm thấy cách tìm các đối tượng trong hình ảnh bằng cách xử lý mạng nơron trung tính. Tên công nghệ của anh ta RN-SPIKES, dường như có sẵn để cấp phép.

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