2011-08-11 5 views
3

JPEG 이미지를 Sun 래스터 형식 (예 : here 참조)으로 변환하고 싶습니다. 내 프로그램은이 형식 만 처리하기 때문에.ImageMagick : BGR 순서로 픽셀을 작성하십시오.

내 프로그램은 Old 또는 Standard 즉 BGR 순서로 쓰여진 픽셀로만 이미지를 처리합니다 (변경해야하지만 시간은 없어야 함). 기본적으로 ImageMagick은 RGB 형식의 파일을 생성합니다.

색상 평면을 바꾸려면 trick을 찾았지만 파일은 RGB로 작성된 스타일이므로 멋진 색상을 얻습니다.

아마도 ImageMagick에 전달하는 간단한 옵션 일 것이지만 찾지 못했습니다. 아이디어가 있으십니까?

convert (image_RGB.bmp -channel B -separate) \ 
    (image_RGB.bmp -channel G -separate) \ 
    (image_RGB.bmp -channel R -separate) -channel RGB -combine image_BGR.bmp 

당신 만 잘라 채널은 원본 이미지를 형성하고 역순으로 쓰기 :

답변

1

어떻게 RGB 이미지에서 빨간색과 파란색 색상을 교환하는 생각이 있어요.

+0

감사합니다. 나는 당신의 모범을 시도했지만 효과가 없습니다. 문법이 확실합니까? –

+0

어쨌든 이것은 [이 페이지] (http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=18202)와 같게 들립니다. 즉, 채널을 바꾸십시오. 그러나이 경우 색상이 달라집니다. 제 생각에는 그것은 단순히 이미지 형식의 문제입니다. –

+0

구문 : "\"기호와 구분선을 제거하려고하면 문장을 읽기 쉽도록 추가했습니다.그렇습니다. 채널은 스와핑되어 있습니다. 변환 된 이미지를 standart 뷰어에서 볼 때 컬러가 멋진 것처럼 보입니다. 하지만 당신의 프로그램이 그것을 읽고 올바르게 읽었을 것이라고 생각했는데 왜 다른 것을 필요로합니까? – moropus

3

색상을 바꾸는 또 다른 방법은 -color-matrix 옵션을 사용하는 것입니다. 예를 들어, BGR에 RGB를 변환 :

convert input.png -color-matrix '0 0 1 
           0 1 0 
           1 0 0' output.png 

가 참조 : http://www.imagemagick.org/Usage/color_mods/

1

가있는 Imagemagick 6에서, 당신은 -swap 명령으로 쉽게 그렇게 할 수 있습니다. 로고 이미지에서 빨간색과 파란색 채널을 교체 할 수 있습니다.

enter image description here

있는 Imagemagick의 아주 오래된 버전의 RGB보다는의 sRGB를 사용하십시오

convert logo.png -separate +channel \ 
-swap 0,2 -combine -colorspace sRGB logo_bgr.png 

enter image description here

.

Imagemagick 7에서는 변환하지 않고 magick을 사용하십시오.

0

나는이 일 래스터 형식의 표준 인 경우있는 Imagemagick

에서
convert image.jpg image.sun 

또는

convert image.jpg SUN:image.sun 

가 BGR 형식으로 변환 것이라고 생각했을 것이다. imagemagick.org/script/formats.php를 참조하십시오.

시도해 보셨습니까?

그래도 작동하지 않으면 my -swap 명령을 사용하지만 위에 사용 된 png 대신 .sun 파일 형식으로 작성하십시오. 즉,

convert logo.png -separate +channel -swap 0,2 -combine -colorspace sRGB logo_bgr.sun