비트 맵을 SVG로 일괄 변환하는 방법은 무엇입니까?


13

SVG와 같은 벡터 형식으로 변환해야하는 많은 회색조 비트 맵이 있습니다. 멋진 결과를 제공하는 Inkscape를 사용하고 있지만 파일을 열고 변환하고 저장하는 데 약 10-15 분이 걸립니다. 이를 변환 할 수있는 배치 또는 명령 줄 도구가 있습니까?


당신도 볼 수 potrace있습니다.
Stéphane Chazelas

또한 배치 도구 링크

답변:


19

포 트레이스

Q & A에서 ImageMagick을 사용하여 JPEG 이미지를 SVG 형식으로 변환하는 방법 이라는 제목의 SO에서이 예제를 찾았습니다 . . 답변 중 하나가 제안되었습니다 potrace.

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

결과

           ss # 1             ss # 2

potrace웹 사이트를 보면 BMP에서 SVG로 직접 갈 수 있습니다.

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

자동 추적

또 다른 옵션은 potrace입니다 autotrace.

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

--color-count필요에 맞는 이미지를 얻으 려면를 가지고 놀아야 할 것입니다.

결과

                                                 ss # 3

어느 것을 사용해야합니까?

이 중 2 가지가 실제로 소스 자료에 따라 다릅니다. 이미지를 변환 potrace하는 경우 더 나은 옵션 일 수 있습니다. 같은 글꼴과 생명이없는 비 사진 자료를 들어 다음, 도로 등을 포함 풍경과 같은 객체 autotrace의로 --centerline전환합니다.

사진에는 ​​적합하지 않지만 라인 아트 및 포스터와 같은 이미지에는 적합합니다. 색상이 좋지 않습니다. Autotrace에는 Inkscape의 내장 Potrace 대화 상자에서 사용할 수없는 일부 기능이 있습니다. 예를 들어 도로 (지도에서) 또는 글꼴 문자를 추적하는 데 특히 유용한 중심선 스위치가 있습니다.

일괄 변환

이러한 명령 중 하나를 Bash의 for 루프에 래핑하면 대량 변환 작업을 쉽게 수행 할 수 있습니다.

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

참고 문헌


JPEG에서 중간 파일을 저장할 필요가 없습니다. 한 줄짜리로 :convert -channel RGB -compress None input.jpg bmp:- | potrace -s - -o output.svg
Louis Maddox

9

자동 추적

자동 추적을 시도 할 수 있습니다.

다음 명령을 사용하면 다음과 같은 결과가 나타납니다.

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

결과 svg의 화면 캡처를 사용하여 png로 저장하여 출력을 표시해야했습니다.

다음은 소스 이미지 jpg입니다.

두개골 소스

결과 이미지는 다음과 같습니다.

두개골 변환


7

일반적으로 convertImageMagic에서 모든 이미지 조작 작업을 수행 하지만 svg 파일로 훌륭하게 재생할 수는 없습니다. 그러나 inkscape명령 행에서 자체를 사용할 수 있습니다 .

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

라는 파일이 생성됩니다 foo.bmp.svg. 올바른 이름을 얻으려면 다음을 시도하십시오.

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

이 방법의 문제점은 적어도 내 시스템에서 이미지를 링크하거나 포함할지 묻는 성가신 그래픽 대화 상자가 나타납니다.

                                 여기에 이미지 설명을 입력하십시오

따라서 여전히 수동으로 확인을 클릭해야하지만 파일 단위로 수행하는 것보다 훨씬 빠릅니다.

출력 이미지는 내가 알 수있는 한 동일합니다.

   여기에 이미지 설명을 입력하십시오


이론적으로, 모두 convertrsvg-convert이 작업을 수행 할 수 있어야하지만, 나는 내가 노력 보낸 몇 분 내 이미지에 잘 작동하도록 가져올 수 없습니다. 그럼에도 불구하고 둘 다 살펴볼 가치가 있습니다.


나는 긍정적이지는 않지만 Inkscape 웹 사이트에 이제 그것이 포함되었다고 말하면서 potrace어쨌든 그 도구를 사용하고 있는지 궁금합니다. 인용 : "Potrace는 이제 Inkscape에 내장되어 있습니다. 별도로 실행할 필요는 없습니다." - wiki.inkscape.org/wiki/index.php/Tools
SLM

5
잉크 스케이프가 단순히 비트 맵 이미지를 SVG에 포함시켜 동일한 모양을 가질 것으로 생각합니다.
user2428118

당신이 옳은 것 같아요. 이러한 이미지로 정확히 무엇을 하려는지에 따라 문제가 될 수도 있고 아닐 수도 있습니다.
terdon

1

potrace그 도구입니다. 대량으로 처리 할 수 ​​있지만 먼저 이미지를 흑백으로 변환해야합니다.

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

우분투 설치 :

sudo apt install potrace

단색이 아닌 이미지를 변환하려면 Inkscape여러 색상을 지원하는 potrace를 기반으로하는 추적 프로그램 도구가있는 경우 먼저 이미지를 색상 레이어로 변환 한 다음 해당 이미지를 추적하여 결과를 결합합니다.

추적 프로그램을 사용하려면 이미지를로드하거나 가져 와서 선택하고 경로 > 추적 비트 맵 항목을 선택하거나 Shift+ Alt+B.

보다

튜토리얼은 여기!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.