5

enter image description herePhát hiện hình dạng tứ giác từ tập hợp ngẫu nhiên của các dòng phân đoạn

hình ảnh đính kèm là sản phẩm của Hough Transform của OpenCV 2.4.2

Ông có thể xin vui lòng tư vấn cho tôi với các thuật toán tốt nhất để phát hiện các tứ giác tốt nhất (không phải lúc nào hình chữ nhật) hình thành từ những phân khúc dòng

mặc dù một số góc sẽ nằm bên ngoài ranh giới hình ảnh, tôi vẫn cần phải phát hiện ra chúng

Nhiều Cảm ơn

+0

bạn sẽ cần xác định "tốt nhất". Nó lớn nhất? Nếu vậy, theo chu vi hoặc khu vực? Nó được vạch ra nhiều nhất? tức là khoảng trống nhỏ nhất ect. – Hammer

+1

Một câu hỏi xây dựng tốt, nhưng tôi không có ý tưởng về nó: ( –

+0

Câu hỏi hay, sẽ rất quan tâm đến câu trả lời! – tim

Trả lời

1

Nếu không có thời gian để thực sự cố gắng này, tôi có thể hình ảnh một cái gì đó như thế này:

  1. lặp qua tất cả các dòng và tính toán các sườn núi.
  2. Sắp xếp các đường theo sườn của chúng
  3. Nếu hai dòng có độ dốc tương tự nhau, chúng song song hoặc cùng một đường với một khoảng trống trong đó (ví dụ: các đường gần như thẳng đứng bên trái). Để tìm ra, tính toán nơi chúng sẽ chặn trục x hoặc trục y. Nếu chúng chặn ở cùng một điểm, chúng giống nhau và phải được hợp nhất thành một dòng. Nếu không, hãy đặt chúng trong một tập hợp các đường song song (gần).
  4. So sánh từng bộ đường song song với nhau và đặt nếu chúng giao nhau (có thể tắt màn hình).
  5. Áp dụng một số tiêu chí phụ thuộc vào ứng dụng để chọn tốt nhất.

Thời gian chạy này phụ thuộc rất nhiều vào số lượng đường phát hiện và số lượng các đường song song. Bạn có thể cải thiện một chút bằng cách chỉ xem xét các dòng có độ dài tối thiểu, chơi với ngưỡng mà các dòng được xem là song song, v.v.

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