แปลงการวาดเส้นจากแรสเตอร์เป็นเวกเตอร์ ** LINES **


16

นี่คือคำถามที่มีอยู่แล้วเช่น:

... และคนอื่น ๆ.

ฉันมีรูปภาพ png ของ B&W มีรูปวาดเหมือนเขาวงกตเช่นมีเส้นเท่านั้นไม่มีพื้นที่

ต้องการแปลงเป็น (ใด ๆ ) รูปแบบเวกเตอร์ แต่เป็นเส้น ทุกโปรแกรมที่ฉันลองเช่น VectorMagic, potrace ฯลฯ จะแปลงบรรทัดเป็นพื้นที่เส้นทางปิด

ส่วนเล็ก ๆ ของภาพ PNG ดั้งเดิม - ซูมแล้ว: ป้อนคำอธิบายรูปภาพที่นี่

ผลลัพธ์ของการติดตาม: ป้อนคำอธิบายรูปภาพที่นี่

อย่างที่คุณเห็น "เส้น" ถูกลากจากทั้งสองด้านเหมือนรูปร่างคล้ายพื้นที่อื่น

กำลังมองหาวิธีวิธีการติดตามเส้นเป็นเส้นจริง (PATHS) ที่ดีที่สุดกับความกว้างของเส้นที่ตรงกัน (แต่จะเพียงพอกับทุกบรรทัดด้วย)

เหตุผลที่อยู่เบื้องหลัง: ต้องการทำงานกับเส้นและโหนดที่ตรวจสอบได้เช่นแปลงบางโหนดเป็นเบ็ซซิเออร์และไลค์ เป็นไปไม่ได้ (อย่างง่าย) ด้วยรูปร่าง

ความคิดใด ๆ :

  • วิธีรับเส้นเวกเตอร์จากโปรแกรมติดตามใด ๆ
  • เครื่องมือใดสามารถทำได้ (ระบบปฏิบัติการใด ๆ - สามารถใช้ Windows, OS X, Linux .. )

คำตอบ:


15

ติดตาม Centerline

มีเครื่องมือโอเพนซอร์สฟรีAutoTraceซึ่งสามารถทำการติดตามเส้นกลางของบิตแมปเป็นบรรทัด

ป้อนคำอธิบายรูปภาพที่นี่

เรียกใช้AutoTraceอย่างน้อยตัวเลือกต่อไปนี้:

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

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นเราสามารถปรับจังหวะและเพิ่มความแข็งแรงของจังหวะที่ต้องการ ..

นอกจากนี้เรายังสามารถติดตั้งส่วนหน้าของกราฟิกFrontlineสำหรับ AutoTrace ในกรณีที่เราไม่คุ้นเคยกับบรรทัดคำสั่ง

ผู้ใช้ Linux อาจสามารถติดตั้ง autotrace ที่จัดเตรียมจากที่เก็บดีฟอลต์ในส่วนใหญ่ สำหรับ Windows มีแพ็คเกจที่คอมไพล์แล้วให้ดาวน์โหลดจากหน้าโปรเจ็กต์

มีตัวแปรอีกมากมายสำหรับ AutoTrace autotrace -helpซึ่งสามารถพบได้ในหน้าคนของโปรแกรมประยุกต์หรือโทรกับมี

หากต้องการรับเส้นตรงมากกว่าเส้นโค้งเราสามารถใช้พารามิเตอร์ต่อไปนี้:

  • -line-threshold [real]:
    หากเส้นโค้งไม่เบี่ยงเบนจากเส้นตรงที่กำหนดโดยจุดสิ้นสุดโดยมากกว่าจำนวนพิกเซลที่ระบุให้ถือว่าเป็นเส้นตรง (ค่าเริ่มต้น: 1)

  • - line-reversion-threshold [real]:
    หากเส้นโค้งอยู่ใกล้กับเส้นตรงมากกว่านี้ให้ถ่วงน้ำหนักด้วยความยาวส่วนโค้งของสี่เหลี่ยมจัตุรัสเก็บเส้นตรงแม้ว่ามันจะเป็นรายการที่มีส่วนโค้ง ค่าเริ่มต้นคือ. 01


1
+1 คุณรู้หรือไม่ว่ามีตัวเลือกในการติดตามทำเฉพาะเซ็กเมนต์ตรงที่มีการติดตามอัตโนมัติ
joojaa

@joojaa: ดูตัวเลือกการแก้ไข
Takkat

ฉันหวังว่าฉันจะได้รับ autotrace เพื่อสร้าง ... ฉันชอบที่จะใช้สิ่งนี้
slashdottir

1
@slashdottir: คุณใช้ระบบอะไร ไซต์ของโครงการย้ายไปที่Githubเพื่อการปรับปรุงล่าสุดและรายงานข้อผิดพลาด ฉันแก้ไขคำตอบเพื่อรวมลิงค์
Takkat

โอ้ยอดเยี่ยม! ฉันใช้ OSX ขอบคุณมากสำหรับลิงค์!
slashdottir

10

โดยสุจริต ... คว้าเครื่องมือปากกาและติดตามเส้นทางด้วยตนเอง มันจะส่งผลให้เกิดในที่ดีที่สุดเอาท์พุท

การติดตามอัตโนมัติมักไม่ใช่ตัวเลือกที่ดีที่สุด เมื่อคุณต้องการเส้นทางที่คุณสามารถเดินทางโดยอัตโนมัติการติดตามอัตโนมัติมักจะล้มเหลวอย่างน่าสังเวช


ภาพนั้นซับซ้อนจริง ๆ มีหลายบรรทัดมาก มีภาพมากขึ้น - ทำงานมากเกินไป - มองหาทางเลือก ... ;)
jm666

นอกจากนี้ฉันหวังว่า "เครื่องมือ" จะทำการเพิ่มประสิทธิภาพบางอย่างเช่นจะสร้างเส้นทางที่ยาวที่สุดเท่าที่จะเป็นไปได้เสมอ ... งานแบบแมนนวลไม่ได้ดีที่สุดเสมอไป)
jm666

โชคดี! ฉันคิดว่าสิ่งที่คุณขอเพียงใช้ทักษะและความอดทน ฉันไม่เคยเห็นโซลูชันอัตโนมัติที่คุ้มค่ากับการสร้างเส้นทางเดียว ฉันคิดว่าคุณกำลังมองหาสิ่งที่เป็นไปไม่ได้โดยสุจริต
สกอตต์

2
@scott ในขณะที่ฉันโดยทั่วไปเห็นด้วยกับความเชื่อมั่นของคุณในกรณีเฉพาะนี้มันอาจจะทำงานออกมา
joojaa

5

ลองใช้ Interpolate Paths หลังจากติดตามของคุณดังแสดงที่นี่:

จังหวะเฉลี่ยจากการเติม


ว้าว. สิ่งนี้ดูมีแนวโน้มมาก ขอขอบคุณ! +1
jm666

@ jm666 ofcourse rhis ชนิดของวิธีการจะไม่เป็นไปโดยอัตโนมัติได้ดีเว้นแต่คุณจัดการกับเส้นทางต่อเนื่อง
joojaa

5

Illustrator สามารถทำเส้นศูนย์ติดตามมากเช่นAutoTrace มันไม่ได้มีประโยชน์มากนักสำหรับสิ่งส่วนใหญ่ แต่ในกรณีนี้ภาพนั้นมีการสังเคราะห์สูงและอาจใช้งานได้

รูปภาพต้นฉบับของคุณไม่ดีอย่างที่ไม่เคยมีมาก่อนดังนั้นจึงไม่มีวิธีการลองทำโดยไม่สูญเสียคุณภาพต้นฉบับของคุณควรจะดีกว่า (ไม่จำเป็นต้องซูมให้มาก)

ทำเช่นนี้:

  1. ในการตั้งค่าการติดตามปิดการใช้งานเติมและเปิดใช้งานจังหวะ

  2. วัตถุ→ขยาย

ป้อนคำอธิบายรูปภาพที่นี่

Image 1 : วัตถุหลังจากติดตามและขยาย

  1. หากต้องการปรับปรุงผลลัพธ์เพิ่มเติมจากข้อผิดพลาดการติดตามให้ทำดังนี้: วัตถุ→เส้นทาง→ลดความซับซ้อนให้ตรวจสอบขอบตรง

ป้อนคำอธิบายรูปภาพที่นี่

ภาพที่ 2 : หลังจากการทำให้เข้าใจง่าย

  1. ดูเหมือนว่าภาพของคุณจะถูก จำกัด ในทิศทางของเส้นและตำแหน่งมุมถ้าเป็นจริงคุณสามารถลองหาจำนวนจุดเพื่อผลลัพธ์ที่ดียิ่งขึ้น (ถ้าไม่สมบูรณ์)

ป้อนคำอธิบายรูปภาพที่นี่

Image 3 : การหาปริมาณอาจทำอะไรกับผลลัพธ์

PS: เนื่องจากแหล่งที่คุณแบ่งปันไม่สมบูรณ์ฉันจะบอกว่าผลลัพธ์ของฉันค่อนข้างดี ในขณะที่ฉันยอมรับว่าโดยทั่วไปแล้วมันเป็นไปไม่ได้ที่จะพึ่งพาการสืบค้นกลับตามบรรทัด แต่จะใช้งานได้ในกรณีนี้

PPS: มุมของคุณทับซ้อนกันซึ่งทำให้ผู้ตามรอยอัตโนมัติเศร้าโศกคุณสามารถตรวจจับและแก้ไขสิ่งเหล่านี้ด้วยตัวดำเนินการสัณฐานวิทยาสองสามคำในการพูดว่า ImageMagick ที่ควรทำให้ผู้สะกดรอยมีความสุขมากขึ้น


ก็ดีนะ ตอนนี้ใช้ autotrace เนื่องจากการใช้บรรทัดคำสั่งง่าย ๆ สำหรับหลาย ๆ ภาพ ภาพบิตแมปข้างต้นเป็นส่วนเล็ก ๆ ของภาพที่ใหญ่กว่า (ซูม 1300%) :) - ดังนั้นจึงดูลดลง +1 ขอบคุณ
jm666

@ jm666 แน่นอนคุณสามารถใช้ illustrator จาก cmd ได้เช่นกันหากคุณต้องการ แต่มันเป็นงานเริ่มต้น
joojaa

ฉันลองใช้การติดตามรูปภาพของ Illustrator และตัวอย่างเพื่อใช้เฉพาะลายเส้น ฉันไม่สามารถรับผลลัพธ์ที่ใช้ได้ เป็นที่ยอมรับว่าฉันไม่ได้ใช้เวลามากมายกับมันและตัวอย่างไม่เหมาะสำหรับการติดตาม แต่ฉันพบว่าในการตั้งค่าทั่วไปการติดตามของ AI ถึงจังหวะเท่านั้นหมายความว่าคุณจะได้รับการติดตามผลงานศิลปะ 30-60% เท่านั้นยกเว้นว่าต้นฉบับนั้นค่อนข้างแข็งแกร่งและคมชัดก่อนการติดตาม
สกอตต์

@Scott ฉันย่อขนาดรูปภาพกลับไปเป็นขนาดดั้งเดิม (ish) และปรับพารามิเตอร์ความกว้างของบรรทัดเพื่อให้ทำงานได้ เมื่อคุณติดตามจังหวะของความกว้างที่แตกต่างกันคุณอาจต้องทำใน 2 หรือ 3 ผ่านแยก
joojaa

4

สำหรับ Inkscape นอกจากนี้ยังมีส่วนขยายการติดตาม centerline ที่มีอยู่ใน github: https://github.com/Moini/inkscape-centerline-trace (ทางแยกของhttps://github.com/fablabnbg/inkscape-centerline-trace )


อัปเดต: รหัสของส้อมถูกรวมเข้ากับต้นฉบับแล้วใช้ลิงค์ fablabnbg
Moini

2

ฉันพบเครื่องมือฟรีแวร์ที่ดีที่เรียกว่าWinTopoซึ่งสำหรับฉันทำงานได้เช่นการติดตาม centerline

วิธีการนี้มีชื่อว่า "oneis vectorisation" และทำงานได้ดี

เมื่อฉันมาจากบริบท GIS - ในรุ่นมืออาชีพมีตัวเลือกในการบันทึกข้อมูลแรสเตอร์ก่อน - อาจมีประโยชน์ แต่ยังไม่ได้ทดสอบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.