ImageMagick의 PNM 이미지
7282 단어 PNMPGMImageMagickpbmppm
약간의 실험용 이미지를 만드는데 편리하고 이미지의 RGB 값을 확인할 때도 편리합니다.
이미지 생성
다음 요건으로 이미지를 만들어보세요.
% cat opposite.pnm
P3
2 2
1
1 0 0 1 1 0
0 1 0 0 0 1
% convert opposite.pnm -scale 200x200 opposite.png
개행을 서보할 수 있으므로, 1행 커멘드에도 할 수 있습니다.
echo "P3 2 2 1 1 0 0 1 1 0 0 1 0 0 0 1" | convert - -scale 200x200 opposite.png
이미지 덤프
반대로 PNG를 PNM으로 되돌릴 수도 있습니다.
% convert opposite.png -scale 2x2 pnm:-
P6
2 2
255
�����%
BINARY 형식으로 나왔습니다. -compress none 옵션으로 ASCII를 출력할 수 있습니다.
% convert opposite.png -scale 2x2 -compress none pnm:-
P3
2 2
255
255 0 0 255 255 0
0 255 0 0 0 255
256 계조의 빨강(255 0 0), 황색(255 255 0), 녹색(0 255 0), 파랑(0 0 255)이므로 실질적으로 원래대로 돌아가고 있습니다.
PNM 유형
PNM은 여러 형식을 정리한 총칭입니다. PNM 패밀리라고 합니다. 텍스트나 바이너리인지, 색깔이 있거나 색이 없는지 등으로 종류가 있습니다.
매직 넘버
형식 이름
데이터 표현
이미지 표현
P1
PBM
ASCII
흑백 이미지
P2
PGM
ASCII
회색 이미지
P3
PPM
ASCII
컬러 이미지
P4
PBM
Binary
흑백 이미지
P5
PGM
Binary
회색 이미지
P6
PPM
Binary
컬러 이미지
P7
PAM
Binary
알파가 있는 컬러 이미지
Pf
PFM
Binary
부동 소수점 형식 그레이 스케일 이미지
PF
PFM
Binary
부동 소수점 형식 컬러 이미지
P1(흑백), P2(그레이스케일), P3(컬러)의 실례를 나타냅니다.
PBM (P1) 흑백
% cat batsu.pbm
P1
5 5
1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1
% convert batsu.pbm -size 100x100 batsu-P1.png
batsu-P1.png
그건 그렇고, 1은 검은 색이고 0은 흰색입니다.
PGM: (P2) 그레이스케일
% cat batsu.pgm
P2
5 5
4
4 0 0 0 4
0 3 0 3 0
0 0 2 0 0
0 3 0 3 0
4 0 0 0 4
% convert batsu.pgm -scale 100x100 batsu-P2.png
batsu-P2.png
여기는 0이 검정색이며 최대값(이 예에서는 4)이 흰색입니다.
PPM: (P3) 색상
% cat batsu.ppm
P3
5 5
4
4 0 0 0 0 0 0 0 0 0 0 0 0 0 4
0 0 0 3 0 0 0 0 0 0 0 3 0 0 0
0 0 0 0 0 0 2 2 2 0 0 0 0 0 0
0 0 0 0 3 0 0 0 0 3 3 0 0 0 0
0 4 0 0 0 0 0 0 0 0 0 0 4 4 0
% convert batsu.ppm -scale 100x100 batsu-P3.png
batsu-P3.png
확장
P7(PAM), Pf, PF(PFM) 는 좁은 의미의 PNM 패밀리에 들어가지 않고, 확장 포맷 취급되는 것 같습니다. (요출전)
PAM은 TUPLTYPE 뒤에 RGB 등의 색 컴포넌트 문자열을 붙이는 것으로 다양한 색 표현을 사용할 수 있습니다. 공식 사양에는 없지만 ImageMagick은 CMYK에도 대응하고 있습니다.
주의
마지막 개행 (2021년 12월 9일 추가)
% convert opposite.png -scale 2x2 pnm:-
P6
2 2
255
�����%
% convert opposite.png -scale 2x2 -compress none pnm:-
P3
2 2
255
255 0 0 255 255 0
0 255 0 0 0 255
PNM은 여러 형식을 정리한 총칭입니다. PNM 패밀리라고 합니다. 텍스트나 바이너리인지, 색깔이 있거나 색이 없는지 등으로 종류가 있습니다.
매직 넘버
형식 이름
데이터 표현
이미지 표현
P1
PBM
ASCII
흑백 이미지
P2
PGM
ASCII
회색 이미지
P3
PPM
ASCII
컬러 이미지
P4
PBM
Binary
흑백 이미지
P5
PGM
Binary
회색 이미지
P6
PPM
Binary
컬러 이미지
P7
PAM
Binary
알파가 있는 컬러 이미지
Pf
PFM
Binary
부동 소수점 형식 그레이 스케일 이미지
PF
PFM
Binary
부동 소수점 형식 컬러 이미지
P1(흑백), P2(그레이스케일), P3(컬러)의 실례를 나타냅니다.
PBM (P1) 흑백
% cat batsu.pbm
P1
5 5
1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1
% convert batsu.pbm -size 100x100 batsu-P1.png
batsu-P1.png
그건 그렇고, 1은 검은 색이고 0은 흰색입니다.
PGM: (P2) 그레이스케일
% cat batsu.pgm
P2
5 5
4
4 0 0 0 4
0 3 0 3 0
0 0 2 0 0
0 3 0 3 0
4 0 0 0 4
% convert batsu.pgm -scale 100x100 batsu-P2.png
batsu-P2.png
여기는 0이 검정색이며 최대값(이 예에서는 4)이 흰색입니다.
PPM: (P3) 색상
% cat batsu.ppm
P3
5 5
4
4 0 0 0 0 0 0 0 0 0 0 0 0 0 4
0 0 0 3 0 0 0 0 0 0 0 3 0 0 0
0 0 0 0 0 0 2 2 2 0 0 0 0 0 0
0 0 0 0 3 0 0 0 0 3 3 0 0 0 0
0 4 0 0 0 0 0 0 0 0 0 0 4 4 0
% convert batsu.ppm -scale 100x100 batsu-P3.png
batsu-P3.png
확장
P7(PAM), Pf, PF(PFM) 는 좁은 의미의 PNM 패밀리에 들어가지 않고, 확장 포맷 취급되는 것 같습니다. (요출전)
PAM은 TUPLTYPE 뒤에 RGB 등의 색 컴포넌트 문자열을 붙이는 것으로 다양한 색 표현을 사용할 수 있습니다. 공식 사양에는 없지만 ImageMagick은 CMYK에도 대응하고 있습니다.
주의
마지막 개행 (2021년 12월 9일 추가)
마지막 줄 바꿈으로 끝나지 않는 PNM 이미지는 ImageMagick에서 처리할 수 없습니다.
Netbpm도 실패합니다. macOS 이미지 미리보기에서도 실패합니다.
echo 에 -n (개행 없음)을 붙이면 확인할 수 있습니다.
% echo -n 'P3 2 2 1 1 0 0 1 1 0 0 1 0 0 0 1' | convert - output.png
convert: unable to read image data `/var/(略)' @ error/pnm.c/ReadPNMImage/1442.
convert: no images defined `opposite.png' @ error/convert.c/ConvertImageCommand/3322.
Adobe Phoroshop CC 2020 및 김프 2.10은 이를 읽을 수 있습니다. (macOS 버전에서 확인했습니다)
참고
Reference
이 문제에 관하여(ImageMagick의 PNM 이미지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoya/items/84abfb9d745e69dab320텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)