�摜�t�H�[�}�b�g
PBM, PGM, PPM
Portable {Bit, Gray, Pix}Map
�`��
- �}�W�b�N�i���o�[
- P1 ... bitmap (ASCII)
- P2 ... graymap (ASCII)
- P3 ... pixmap (ASCII) �J���[
- P4 ... bitmap (Binary)
- P5 ... graymap (Binary)
- P6 ... pixmap (Binary) �J���[
- # �Ŏn�܂�R�����g(optional)
- �� ����
- �ő�l (gray,pix)
- �f�[�^
PNM ... Portable aNy-Map
��Fbitmap ascii
P1
# feep.pbm
24 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
��Fgraymap ascii
P2
# feep.pgm
24 7
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0
0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0
0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0
0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0
0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
��Fpixmap ascii
P3
# feep.ppm
4 4
15
0 0 0 0 0 0 0 0 0 15 0 15
0 0 0 0 15 7 0 0 0 0 0 0
0 0 0 0 0 0 0 15 7 0 0 0
15 0 15 0 0 0 0 0 0 0 0 0
- ���F
- �E�����̃h�b�g�ʒu�� x �������� y �Ƃ��āA��f�l��
16 * x + y �ŕ\�����悤�� 16 �~ 16 �� pgm �摜���쐬���Ȃ����B
- ��
#include <stdio.h>
main()
{
int x,y;
printf("P2\n16 16\n255\n");
for (y=0;y<16;y++) {
for (x=0; x<16; x++) {
printf("%d\n",16 * x + y);
}
}
}
Netpbm �R�}���h�Q
�e��̉摜�t�H�[�}�b�g���� pbm, pgm, ppm �ւ̕ϊ��Bpbm, pgm, ppm, pnm
�摜�̉��Z�Bpbm, pgm, ppm, pnm ����e��摜�t�H�[�}�b�g�ւ̕ϊ��Ȃǂ��s���B
pbm, pgm, ppm, pnm �� man ��ǂށB
- pbmtext
- ������(ASCII)�� pbm �t�@�C���ɂ���
- icontopbm
- Sun�̃A�C�R���G�f�B�^�ō쐬����icon�t�@�C���� pbm�`���ɕϊ�����
- xbmtopbm
- X window �� xbm�`���� pbm�`���ɕϊ�����
- pbmtopgm
- pbm�`���� pgm�`���ɕϊ�����(gray map�ɂȂ�)
- rgb3toppm
- 3��pgm�t�@�C�������ꂼ�� r,g,b �Ɋ��蓖�Ă��J���[�摜�����
- pnmarith
- �摜�Ԃʼn��Z�������Ȃ�
- ppmquant
- �J���[�̌��F�������Ȃ�
- ppmtogif
- GIF�`���̉摜�ɕϊ�����
- cjpeg
- JPEG�`���̉摜�ɕϊ�����
���K
�ŏ��� xv ���g���āAinteractive �ɉ摜����������Ă݂܂��B
- �l�b�g���[�N�Ō��J����Ă���摜�t�@�C����q���Ă���B(�Ⴆ��
���Ȋw�Ȃ̃T�[�o�Ȃ�)
- �����̍�ƃf�B���N�g���ɕۑ����Appm �֕ϊ�����B
�Ⴆ�A djpeg papageno.jpg > papageno.ppm
- �摜�̒��Ƀ}�E�X�J�[�\�����ړ����āA�����{�^���������ƁA���̈ʒu�̉�f
�̍��W�ARGB �l�AHSV�l���\�������B
- �E�{�^���������ƁA�u�R���g���[���E�B���h�E�v�������B
- Display, 24/8 bit, Algorithms, Root, Windows, Image Size �͂��ꂼ��
���j���[�ɂȂ��Ă��āA���{�^���Ńh���b�O����B
- �Ⴆ�AWindows -> Text View ���J���ƁA�摜�t�@�C���ɓ����Ă�����e��
�����ŕ\������̂ŁAPPM �w�b�_��ǂނ��Ƃ��ł���B
- Windows -> Color Editor ���J���ƁA�摜�̐F�� HSV �Œ����ł���B
Saturation �� Intensity ��ς��Ă݂ĕω����݂Ă݂悤�B
- �����E�B���h�E�̉E�ɂ� RGB �ł̒������ł���悤�ɂȂ��Ă���BRed �� Green ��
����߂ɂ���Ɓu�Z�s�A�F�v���ۂ��Ȃ邩������Ȃ��B
- �����悤�� Image Size ���g���ĉ摜�̊g���k�������Ă݂悤�B
����ǂ́ANetPbm �R�}���h���g���āA�R�}���h�ł̉摜���������Ă݂悤�B
- �摜�̏k��
% pnmscale 0.7 papageno.ppm > p07.ppm
- �摜��C�ӂ̑傫���ɃX�P�[��
% pnmscale -width 128 -height 128 papageno.ppm > p128.ppm
- �摜�������
% pnmcut 25 68 50 30 papageno.ppm > pcut.ppm
- �摜�̂Ȃ����킹
% pnmcat -lr pcut.ppm pcut.ppm > pcat.ppm
- �摜�� RGB �R�����ɕ���
% ppmtorgb3 papageno.ppm
- �摜�̐����𖾂邭����
% pnmgamma 3 papageno.red > p3.red
% pnmgamma 2 papageno.grn > p2.grn
- RGB �����摜���č���
% rgb3toppm p3.red p2.rgn papageno.blu > sepia.ppm
- �V�F���X�N���v�g������đ��̉摜�ɂ��K�p
% cat > ppmsepia
#!/bin/csh
ppmtorgb3 $1
pnmgamma 3 $1:r.red > p3.red
pnmgamma 2 $1:r.grn > p2.grn
rgb3toppm p3.red p2.grn $1:r.blu > $1:r-sepia.ppm
\rm *.red *.grn *.blu
^D (Ctrl+D)
% chmod +x ppmsepia
% ppmsepia mariko.ppm
- WWW �p�摜�`���ւ̕ϊ�
- JPEG�`�� ... cjpeg �R�}���h���g��
% cjpeg sepia.ppm > sepia.jpg
- Progressive Mode ... -progressive �I�v�V����
% cjpeg -progressive sepia.ppm > sepia-p.jpg
- �T�C�Y������������(�掿��������)
% cjpeg -q 40 sepia.ppm > sepia50.jpg
- GIF�`�� ... 256�F�܂ł����\���ł��Ȃ��̂ŁA���F�̕K�v������B
% ppmquant 256 sepia.ppm | ppmtogif > sepia.gif
- �F�̋��E��_�łڂ���(dither)
% ppmquant -fs 256 sepia.ppm | ppmtogif > sepia-fs.gif
- �F�������炷�Ɖ掿�͗����邪�摜�t�@�C���̃T�C�Y�͏������Ȃ�B
% ppmquant -fs 16 sepia.ppm | ppmtogif > sepia16.gif
- ����̐F���ɂ��邱�Ƃ��ł���B
% pbmtext "Hello" | ppmtogif -transparent #ffffff > hello.gif
�Ō�ɁA���K�łł����摜�t�@�C���i�T�C�Y�̑傫���Ȃ����̂��ЂƂj
�����[���ɕt���� [email protected]
�܂ő����Ă��������B���[���c�[���Ń��b�Z�[�W�쐬��I�сA����A�ǂ��
�摜�ł��Ƃ����R�����g�������Ă���A�t�@�C���}�l�[�W���ɏo�Ă���
�摜�t�@�C���̃A�C�R�������b�Z�[�W�쐬�E�B���h�E�Ƀh���b�O�A���h�h���b�v
���܂��B���̂Ƃ��A�R�[�h�����܂����Ƃ����₢���ł܂��̂ŁA[�R�[�h��]��
�I��ł��������B
���̂悤�ȕ��@�Ń��[���ɓY�t���ꂽ�摜�t�@�C��������ɂ́A
���[���c�[������t�@�C���}�l�[�W���Ƀh���b�O�A���h�h���b�v���܂��B
����ɂ́Axv ���N�����ĕ\�����܂��B
�摜�t�@�C���̓Y�t���@�� uuencode �Ƃ������@���g���Ă��܂��B
UNIX �ł͎g���܂����A�p�\�R���ł͎g���Ȃ����Ƃ������̂ŁA
���߂Ă̗F�B�ɂ����Ȃ肱�̕��@�ʼn摜�𑗂�t�����肵�Ȃ��悤��
���ӂ��܂��傤�B���̑��̓Y�t���@�Ƃ��ẮAMIME encoding �Ȃǂ�
����܂��B