Bitmap'leri toplu olarak SVG'lere dönüştürmek nasıl?


13

SVG gibi bir vektör biçimine dönüştürmem gereken birçok gri ölçekli bitmap'im var. Güzel sonuçlar veren Inkscape'i kullanıyorum, ancak bir dosyayı açmak, dönüştürmek ve kaydetmek yaklaşık 10-15 dakika sürer. Bunları dönüştürebilecek bir toplu iş veya komut satırı aracı var mı?


siz de bir göz atmak isteyebilirsiniz potrace.
Stéphane Chazelas

inkscape'i batchtool bağlantısı

Yanıtlar:


19

potrace

Bu örneği SO başlıklı bir Soru & Cevap olarak buldum: Nasıl JPEGM ImageMagick kullanarak SVG biçimine dönüştürmek için? . Önerilen cevaplardan biri potrace.

$ convert input.jpg output.ppm
$ potrace -s output.ppm -o svgout.svg

Sonuçlar

           ss # 1             ss # 2

potraceWeb sitesine bakarak görünüşe göre doğrudan BMP'den SVG'ye gidebilirsiniz.

$ potrace -s input.bmp -o output.svg

autotrace

İçin bir başka seçenek potraceDİR autotrace.

$ autotrace -output-file ouput.svg -output-format svg --color-count 4 input.bmp

--color-countİhtiyaçlarınıza uygun bir görüntü elde etmek için muhtemelen ile oynamak zorunda kalacaksınız .

Sonuçlar

                                                 ss # 3

Hangisi kullanılır?

Bunlardan 2'si gerçekten kaynak malzemeye bağlıdır. Görüntüleri dönüştürüyorsanız potrace, muhtemelen daha iyi bir seçenektir. Böyle yazı tipleri ve cansız olmayan fotoğraf malzemesi için, sonra yollar gibi şeyleri içerir sahne gibi nesneleri autotracekendi ile --centerlineanahtarı.

Fotoğraflar için en uygun olmasa da, resim ve poster benzeri görüntülerde iyi iş çıkarır. Renklerle çok iyi sonuç vermez. Otomatik izleme, Inkscape'teki katıştırılmış Potrace iletişim kutusunda bulunmayan bazı özelliklere sahiptir. Örneğin, yolları (haritalarda) veya yazı tipi karakterlerini izlemek için özellikle yararlı olan bir merkez hattı anahtarı vardır.

Toplu dönüşümler

Bu komutlardan birini Bash'teki for for döngüsüne sarabilirsiniz; bu, toplu dönüştürme görevleri yapmayı kolaylaştıracaktır.

$ for i in *.bmp; do <CONVERSION TOOL> ... "$i"; done

Referanslar


JPEG'den bir ara dosya depolamaya gerek yoktur. Tek astar olarak kullandım:convert -channel RGB -compress None input.jpg bmp:- | potrace -s - -o output.svg
Louis Maddox

9

Autotrace

Otomatik izlemeyi deneyebilirsiniz .

Aşağıdaki komutu kullanarak aşağıdaki sonuçları elde edersiniz:

autotrace --output-format svg --output-file output.svg --color-count 4 imgsrc.jpg

Ortaya çıkan svg bir ekran görüntüsü almak ve çıktı göstermek için png olarak kaydetmek zorunda kaldı.

İşte bir kaynak görüntü jpg:

kafatası kaynağı

Ortaya çıkan görüntü:

kafatası dönüştürmek


7

Normalde, convertImageMagic'den tüm resim düzenleme görevlerimi yapıyorum ama svg dosyalarıyla güzel oynamayı alamıyorum. Ancak inkscapekendisini komut satırından kullanabilirsiniz:

for i in *bmp; do inkscape -f "$i" -l "$i.svg"; done

Bu adlı dosyalar oluşturur foo.bmp.svg. İsimleri doğru yapmak için şunu deneyin:

for i in *bmp; do inkscape -f "$i" -l "${i%.bmp}.svg"; done

Bu yaklaşımla ilgili sorun, en azından sistemimde, resmi bağlamak veya gömmek isteyip istemediğinizi soran can sıkıcı bir grafik iletişim penceresi açmasıdır:

                                 resim açıklamasını buraya girin

Yani, yine de el ile Tamam'ı tıklamanız gerekiyor, ancak yine de dosyaya göre yapmaktan çok daha hızlı.

Çıktı görüntüleri anlayabildiğim kadarıyla aynı:

   resim açıklamasını buraya girin


Teorik olarak, hem convertve rsvg-convertbunu yapmak mümkün olmalıdır ama denemekten harcanan birkaç dakika içinde benim görüntülerde iyi çalışması için alamadım. Her ikisi de yine de bakmaya değer.


Olumlu değilim ama Inkscape web sitesinde şimdi potracegömülü olduğunu söylüyor, bu yüzden sadece bu aracı zaten kullanıyor mu acaba? alıntı: "Potrace şimdi Inkscape içine gömülü. Ayrı çalıştırmanız gerekmez." - wiki.inkscape.org/wiki/index.php/Tools
slm

5
Inkscape'in bitmap görüntüsünü SVG'nin içine gömeceğinden şüpheleniyorum, bu yüzden özdeş görünümleri.
user2428118

@ user2428118 Haklı olduğundan şüpheleniyorum. Bu görüntülerle tam olarak ne yapmak istediğinize bağlı olarak bu bir sorun olabilir veya olmayabilir.
terdon

1

potracebunun için bir araçtır. Bunları toplu olarak işleyebilirsiniz, ancak önce görüntüleri tek renkli hale dönüştürmeniz gerekir:

ls ./*.jpg | xargs -L1 -I {}  convert -monochrome {} {}.ppm
ls -1 ./*.ppm | xargs -L1 -I {} potrace {} -r 300 -b svg -o {}.svg

Ubuntu'ya yükle:

sudo apt install potrace

Tek renkli olmayan görüntüleri, Inkscapebirden fazla rengi destekleyen potrace üzerinde bir izleme aracı tabanına dönüştürmek istiyorsanız, önce görüntüyü renk katmanlarına dönüştürür, sonra bunları izler ve sonucu birleştirir.

İzleyiciyi kullanmak için bir görüntüyü yükleyin veya içe aktarın, seçin ve Yol > Bitmap'i İzle öğesini veya Shift+ Alt+B.

Görmek

Eğitim burada!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.