Chuyển đổi một bản vẽ đường thẳng từ raster sang vector ** DÒNG **


16

Đây đã là những câu hỏi như vậy, như:

... và những người khác.

Tôi có một hình ảnh png B & W, chứa một bản vẽ như mê cung, ví dụ: nó chỉ chứa các dòng , không có khu vực.

Cần chuyển đổi nó thành định dạng vector (bất kỳ), nhưng dưới dạng LINES . Mỗi chương trình những gì tôi đã cố gắng, ví dụ VectorMagic, potrace, vv chuyển đổi các dòng thành các khu vực đường dẫn khép kín.

Một phần nhỏ của hình ảnh PNG gốc - được phóng to: nhập mô tả hình ảnh ở đây

Kết quả của dấu vết: nhập mô tả hình ảnh ở đây

Như bạn có thể thấy, "đường" được vạch ra từ cả hai phía của nó giống như bất kỳ hình dạng giống khu vực nào khác.

Tìm kiếm một cách, làm thế nào để theo dõi các dòng thành các dòng thực (PATHS) , tốt nhất với độ rộng dòng phù hợp. (nhưng sẽ là đủ bất kỳ dòng với).

Lý do đằng sau: cần làm việc với các đường và nút theo dõi, ví dụ: chuyển đổi một số nút thành bezier và like. Không thể (dễ dàng) với hình dạng.

Bất kỳ ý tưởng:

  • làm thế nào để có được các đường vectơ từ bất kỳ chương trình truy tìm.
  • công cụ nào có thể làm điều này? (mọi hệ điều hành - có thể sử dụng Windows, OS X, Linux ..)

Câu trả lời:


15

Đường trung tâm

Có một AutoTrace công cụ mã nguồn mở miễn phí có thể thực hiện theo dõi đường tâm của bitmap nghệ thuật đường thẳng.

nhập mô tả hình ảnh ở đây

Chạy AutoTrace với ít nhất các tùy chọn sau:

autotrace -centerline -color-count 2 -output-file output.svg -output-format SVG input.png 

nhập mô tả hình ảnh ở đây

Sau đó chúng ta có thể tinh chỉnh các nét và thêm cường độ nét mong muốn ..

Chúng tôi cũng có thể cài đặt Frontline đồ họa cho AutoTrace trong trường hợp chúng tôi không quen với dòng lệnh.

Người dùng Linux có thể cài đặt tự động cung cấp từ kho lưu trữ mặc định của họ trong hầu hết các bản phân phối. Đối với Windows, có các gói được biên dịch trước để tải xuống từ trang của dự án.

Có nhiều tham số bổ sung cho AutoTrace có thể được tìm thấy trong trang man của ứng dụng hoặc bằng cách gọi nó với autotrace -help.

Để có được các đường thẳng hơn spline, chúng ta có thể sử dụng các tham số sau:

  • -line-threshold [real]:
    Nếu một spline không lệch khỏi đường thẳng được xác định bởi các điểm cuối của nó nhiều hơn số pixel được chỉ định, thì hãy coi nó là một đường thẳng (mặc định: 1).

  • - line-reversion-threshold [real]:
    Nếu một spline gần với một đường thẳng hơn thế này, được cân bằng bởi bình phương của chiều dài đường cong, hãy giữ cho nó một đường thẳng ngay cả khi đó là một danh sách với các đường cong; mặc định là 0,01.


1
+1 Bạn có biết nếu có một tùy chọn để theo dõi chỉ thực hiện các phân đoạn thẳng với tự động ghi.
joojaa

@joojaa: xem chỉnh sửa cho các tùy chọn.
Takkat

Tôi ước tôi có thể tự động xây dựng ... Tôi rất thích sử dụng cái này
slashdottir

1
@slashdottir: bạn đang sử dụng hệ thống nào? Trang web của dự án đã chuyển đến Github để phát hành gần đây và cho các báo cáo lỗi. Tôi chỉnh sửa câu trả lời để bao gồm các liên kết.
Takkat

Ôi rực rỡ! Tôi đang sử dụng OSX. Cảm ơn rất nhiều về sự chỉ dẫn!
slashdottir

9

Thành thật mà nói ... lấy công cụ bút và theo dõi thủ công các đường dẫn. Nó sẽ dẫn đến đầu ra tốt nhất .

Tự động truy tìm thường không phải là lựa chọn tốt nhất. Khi bạn chỉ muốn các đường dẫn bạn có thể đột quỵ, tự động theo dõi thường thất bại thảm hại.


hình ảnh thực sự là COMPLEX với nhiều dòng. Cũng có nhiều hình ảnh hơn - đơn giản là quá nhiều công việc - đang tìm kiếm một giải pháp thay thế ...;)
jm666

Ngoài ra tôi hy vọng rằng "công cụ" sẽ thực hiện một số tối ưu hóa, ví dụ như sẽ luôn tạo ra các đường dẫn dài nhất có thể và cứ thế ... công việc thủ công không phải lúc nào cũng tốt nhất;)
jm666

Chúc may mắn! Tôi thực sự nghĩ rằng những gì bạn đang yêu cầu chỉ cần kỹ năng thủ công và sự kiên nhẫn. Tôi chưa bao giờ thấy một giải pháp tự động đáng giá trong việc tạo các đường dẫn đơn. Tôi nghĩ rằng bạn đang tìm kiếm điều không thể thành thật.
Scott

2
@scott trong khi tôi nói chung đồng ý với tình cảm của bạn trong trường hợp cụ thể này, nó chỉ có thể có kết quả.
joojaa

5

Hãy thử sử dụng Đường dẫn nội suy sau dấu vết của bạn, như hiển thị ở đây:

Trung bình đột quỵ từ một điền


Ôi. Điều này có vẻ rất hứa hẹn. Cảm ơn bạn! +1.
jm666

@ jm666 ofcference rhis loại phương pháp sẽ không tự động hóa rất tốt trừ khi bạn xử lý các đường dẫn liên tục.
joojaa

5

Illustrator có thể thực hiện theo dõi đường trung tâm giống như autotrace . Nó không siêu hữu ích cho hầu hết mọi thứ nhưng trong trường hợp này hình ảnh có tính tổng hợp cao và nó có thể hoạt động.

Hình ảnh nguồn Yor nổi tiếng là xấu vì vậy không có cách nào thực sự để thử điều này mà không làm giảm chất lượng, bản gốc của bạn phải tốt hơn (không cần phải phóng to như vậy)

Làm cái này:

  1. Trong cài đặt theo dõi, vô hiệu hóa điền và kích hoạt đột quỵ.

  2. Đối tượng → Mở rộng

nhập mô tả hình ảnh ở đây

Hình 1 : Đối tượng sau khi theo dõi và mở rộng.

  1. Để nâng cao hơn nữa kết quả từ bất kỳ lỗi truy tìm nào, hãy làm: Đối tượng → Đường dẫn → Đơn giản hóa , kiểm tra các cạnh thẳng.

nhập mô tả hình ảnh ở đây

Hình 2 : Sau khi đơn giản hóa

  1. Dường như với tôi hình ảnh của bạn có phần bị giới hạn theo hướng đường thẳng và vị trí góc, nếu đó là sự thật, giờ đây bạn có thể cố gắng định lượng các điểm để có kết quả tốt hơn (nếu không hoàn hảo).

nhập mô tả hình ảnh ở đây

Hình 3 : Lượng tử hóa có thể làm gì cho kết quả.

PS: cho rằng nguồn mà bạn chia sẻ không đầy đủ tôi sẽ nói kết quả của tôi là khá tốt. Mặc dù tôi đồng ý rằng nói chung không thể dựa vào dấu vết dòng, nó sẽ hoạt động trong trường hợp này.

PPS: Các góc của bạn bị chồng chéo, điều này gây ra một số lỗi tự động Bạn có thể phát hiện và khắc phục những điều này với một vài toán tử Hình thái học nói rằng ImageMagick sẽ làm cho các công cụ theo dõi trở nên hạnh phúc hơn.


Cũng đẹp. Bây giờ sử dụng autotrace, vì cách sử dụng dòng lệnh đơn giản - cho nhiều hình ảnh. Hình ảnh bitmap ở trên là một phần nhỏ của hình ảnh lớn hơn (zoom 1300%) :) - do đó nó trông xuống cấp. +1, cảm ơn bạn.
jm666

@ jm666 chắc chắn, bạn cũng có thể sử dụng vẽ tranh minh họa từ cmd nếu muốn, nhưng đó là một chút công việc để bắt đầu.
joojaa

Tôi đã thử với dấu vết hình ảnh của Illustrator và mẫu để chỉ sử dụng các nét. Tôi đã không thể nhận được bất kỳ kết quả có thể sử dụng. Phải thừa nhận rằng tôi đã không đầu tư nhiều thời gian cho nó và mẫu không lý tưởng để truy tìm. Nhưng tôi thấy trong cài đặt chung, dấu vết của AI chỉ là các nét có nghĩa là bạn chỉ nhận được 30-60% các tác phẩm nghệ thuật thực tế được truy tìm trừ khi bản gốc khá chắc chắn và sắc nét trước khi truy tìm.
Scott

@Scott tôi thu nhỏ hình ảnh về kích thước ban đầu (ish) và tham số độ rộng đường được điều chỉnh để nó chỉ hoạt động. Khi bạn theo dõi các nét có chiều rộng khác nhau, bạn có thể cần thực hiện trong 2 hoặc 3 lần riêng biệt.
joojaa


2

Tôi tìm thấy một Công cụ phần mềm miễn phí tốt có tên WinTopo , mà đối với tôi đã thực hiện công việc, tức là theo dõi đường trung tâm.

Phương pháp này được gọi là "vectorisation one touch" và hoạt động tốt.

Vì tôi đến từ bối cảnh GIS - trong phiên bản pro, có một tùy chọn để Georeference dữ liệu raster trước - có thể hữu ích, chưa được thử nghiệm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.