2011-02-07 29 views
5

Hãy nói rằng tôi có một hình dạng như thế này:Tìm tọa độ của điểm trên biên giới của một hình dạng

enter image description here

Sau khi tất cả những câu nói đùa của tôi muốn vẽ đậu đang kiệt sức, tôi muốn tìm ra điểm trên biên giới của hình dạng. Tôi biết có thể có nhiều, do đó, một khoảng cách công bằng giữa chúng được chấp nhận.

Có một thuật toán cho nhu cầu đó không? Hoặc một phần mềm? Tất cả các giải pháp tôi đưa ra liên quan đến rất nhiều công việc thủ công, đặc biệt là nếu tôi muốn vẽ một hình dạng hơi khác.

Sự khôn ngoan về ngăn xếp, vui lòng trợ giúp.

Trả lời

6

Bạn có thể chỉ đơn giản là quét các điểm ảnh theo chiều ngang và theo chiều dọc để tìm biên giới màu sắc, hoặc, nếu bạn muốn có một giải pháp phức tạp hơn và nói chung, bạn có thể ví dụ như sử dụng gradient method để phát hiện cạnh:

enter image description here

Chỉnh sửa

Trả lời nhận xét của bạn, hình ảnh chỉ là mảng hai chiều, chứa giá trị pixel. Bạn có thể kiểm tra từng pixel và chọn những pixel có màu cụ thể. Như thế này:

enter image description here

Và kết quả là pixel cạnh bạn:

{{35, 107}, {35, 108}, {35, 109}, {35, 110}, {35, 111}, 
{35, 112}, {35, 113}, {35, 114}, {35, 115}, {35, 116}, 
{35, 117}, {35, 118}, {35, 119}, {35, 120}, {35, 121}, 
{36, 103}, {36, 104}, {36, 105}, {36, 106}, {36, 107}, etc.... 
+0

Không chắc cách bạn đã làm điều đó, nhưng để làm rõ: Tôi cần một danh sách các tọa độ, không phải là hình ảnh kết quả. – Tudorizer

+1

@Tudorizer Hình ảnh là một ma trận. Danh sách tọa độ là danh sách trên (hàng, cột), nơi các pixel có màu trắng! –

+0

Bạn đã tạo ra hình ảnh đó bằng cách nào? – Tudorizer

2

Có vẻ như bạn đang tìm kiếm "vector hóa", hay chính xác hơn "bitmap vector hóa". Nếu bạn vector hóa bitmap của bạn, bạn sẽ nhận được phiên bản vectơ của hình dạng của bạn, nó sẽ cung cấp cho bạn tất cả các tọa độ biên.

Nếu vậy, có một số giải pháp có sẵn, bao gồm autotrace: http://autotrace.sourceforge.net/

+0

Điều này có vẻ thú vị. Để làm rõ, tôi cần tọa độ của các điểm. Một danh sách/mảng của chúng. – Tudorizer

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