Pixel зургийг хувирган Нэг үргэлжилсэн Vector болгох код

Тавтай морил! Энэхүү блогын нийтлэлээр бид ханан дээр зурдаг робот буюу wall mount plotter-ийн зургийг пиксел зургаас вектор графикт хөрвүүлэх аргачлалын талаар дэлгэрэнгүй ярилцах болно. Энэ процесс нь зургийн чанарыг хадгалахаас гадна зурах үйл явцыг илүү хурдан, үр дүнтэй болгодог. Та доорх линкээс бидний ашигласан кодын жишээг үзэж болно: https://github.com/innolab-mn/single_line_svg/blob/main/Single_rect_line.ipynb
Пиксел зургийн сорилтууд
Пиксел зургууд, жишээлбэл доорх Mortal Kombat загварын зураг, өндөр нарийвчлалтай байж болох ч wall mount plotter, үзэг, харандаа эсвэл лазераар зурахад хэд хэдэн бэрхшээл дагуулдаг:

Цаг хугацаа их шаардлага: Пиксел зургууд нь олон жижигхэн цэгээс тогтдог тул нарийн ширийн зүйлсийг зурахад удаан хугацаа зарцуулдаг.
Нарийвчлалын хязгаарлалт: Plotter-ийн хөдөлгөөн хязгаарлагдмал байдаг тул нарийн ширийн зүйлсийг бүрэн илэрхийлэхэд бэрхшээлтэй.
Траекторын оновчлол дутмаг: Пиксел зургууд нь шугаман хөдөлгөөнийг тодорхойлдоггүй тул роботын зурчихах зам оновчтой бус байдаг.
Эндээс бид вектор график руу хөрвүүлэхийн давуу талыг харж болно. Вектор график нь шугам, муруй, хэлбэрээр тодорхойлогддог тул plotter-д зориулсан траекторын оновчлолыг хялбаршуулж, зурах хугацааг багасгадаг.
Вектор графикт хөрвүүлэх аргачлал
Бидний аргачлал нь пиксел зургийг single line art буюу нэг тасралтгүй шугамаар илэрхийлэгдэх вектор график болгон хөрвүүлэхэд чиглэгдэнэ. Ингэснээр plotter нь зургийг илүү хурдан, жигд зурдаг. Доорх зурагт бидний хөрвүүлсэн Mortal Kombat загварыг харуулав:

Энэхүү зураг нь бараан хэсгийг Y тэнхлэгийн дагуу өндөрсгөсөн синусойд зураасаар, цайвар хэсгийг намхан синусойдоор илэрхийлж вектор график үүсгэж байгаа. Энд бид зургийн бараан хэсгүүдийг Y тэнхлэгийн дагуу өндөр синусойд зураасаар, харин цайвар хэсгүүдийг намхан синусойд зураасаар илэрхийлсэн. Энэ арга нь:
Траекторын оновчлол: Нэг тасралтгүй шугамаар зурах боломжтой болсноор plotter-ийн хөдөлгөөн хамгийн бага болдог.
Харааны гоо зүй: Синусойдын өндрийг өөрчлөх замаар зургийн гэрэл, сүүдрийг уран сайхны байдлаар илэрхийлдэг.
Хурд ба үр ашиг: Пиксел зургийн олон цэгийн оронд цөөн тооны вектор шугам ашигласнаар зурах хугацаа эрс багасна.
Алхам алхмаар тайлбар
Зургийн анализ: Пиксел зургийг оруулж, түүний өнгөний градиентийг (гэрэл, сүүдэр) шинжилнэ.
Синусойдын загварчлал: Зургийн бараан хэсгүүдийг өндөр давтамжтай, өндөр амплитудтай синусын долгионоор, цайвар хэсгүүдийг нам давтамжтай, бага амплитудтай долгионоор илэрхийлнэ.
Векторжуулалт: Зургийг SVG (Scalable Vector Graphics) формат руу хөрвүүлнэ. SVG формат нь plotter-д шууд уншигдаж, зурагдах боломжтой.
Оновчлол: Зургийн траекторын уртыг багасгахын тулд шугамын холболтыг оновчтой болгоно.
Plotter-д илгээх: Хөрвүүлсэн SVG файлыг plotter-ийн программд оруулж, зургийг ханан дээр зурна.
Кодыг дараах линкээс үзэж, өөрийн зураг дээр туршиж болно:
https://github.com/innolab-mn/single_line_svg
Яагаад энэ аргачлал чухал вэ?
Цаг хэмнэнэ: Нэг тасралтгүй шугамаар зурах нь олон цэгийн зурааснаас хамаагүй хурдан.
Уран сайхны илэрхийлэл: Синусойдын загвар нь зурагт өвөрмөц, гоёмсог харагдах байдал нэмдэг.
Олон талын хэрэглээ: Энэ аргачлалыг зөвхөн wall mount plotter төдийгүй лазер сийлбэр, CNC машин зэрэгт ашиглаж болно.
Дүгнэлт
Пиксел зургийг вектор графикт хөрвүүлэх нь wall mount plotter-ийн зурах үйл явцыг хялбаршуулж, хурдасгаж, уран сайхны үр дүнг сайжруулдаг. Бидний ашигласан синусойдын аргачлал нь энгийн бөгөөд үр дүнтэй бөгөөд та өөрийн зургуудыг хөрвүүлж, plotter-ийн боломжийг бүрэн ашиглаж болно. Дээрх GitHub линкээс кодоо татаж аваад, өөрийн Mortal Kombat загварыг зурж эхэл!
Хэрвээ танд асуулт байвал эсвэл өөрийн туршлагаа хуваалцахыг хүсвэл сэтгэгдэл үлдээнэ үү!

