Bitmap
İlk iki byte BM karakteridir. Geri kalan her alan 4 byte büyüklüğündedir. Şöyledir
Açıklaması şöyle.
JPEG ile kullanılan metadata ile ilgili bir örnek burada. Metadata içinde bir sürü alan olabiliyor. Açıklaması şöyle
Sıkıştırma
JPEG sıkıştırması, az veya çok biraz kayıp getirir. Yani lossy bir formattır. Sıkıştırma özelliği en çok çok renkli resimlerde işe yarar.
Eğer bir JPEG resmi açılıp tekrar JPEG olarak kaydedilirse resimde daha da bozulma olur.
Sıkıştırma algoritması şöyle.
Kanal başına bir renk için 8 bit kullanır. Üç renk için 24 bit kullanır. Açıklaması şöyle.
JPEG alpha kanalını desteklemez.
Renk Uzayı
Renk uzayı olarak CMYK,YCCK kullanılabilir. Açıklaması şöyle
Renk Uzayı
CMYK kullanır. Açıklaması şöyle.
Renk biti
Bir renk için 8 veya 16 bit kullanır.
GeoTIFF
Açıklaması şöyle.
Header
Açıklaması şöyle
Bir piksel için 8 bit kullanır. Yani sadece 256 renk olabilir.
Frame Sayısı
GIF frame'lerden oluşur. Görmek için şöyle yaparız.
Her frame 10 ms'dir. Açıklaması şöyle.
PNG
Resim Formatları - PNG yazısına taşıdım.
Resim Formatına Erişme
Java
IIOMetadata sınıfı kullanılır.
İlk iki byte BM karakteridir. Geri kalan her alan 4 byte büyüklüğündedir. Şöyledir
std::vector<BYTE> header(offset, 0);
header[0] = signature[0];
header[1] = signature[1];
HEADERS(2, fileSize);
HEADERS(6, 0);
HEADERS(10, offset);
HEADERS(14, DIBSize);
HEADERS(18, bitmapWidth);
HEADERS(22, bitmapHeight);
header[26] = (BYTE)numPlanes;
header[27] = (BYTE)(numPlanes >> 8);
header[28] = (BYTE)bitsPerPixel;
header[29] = (BYTE)(bitsPerPixel >> 8);
HEADERS(30, compressionMethod);
HEADERS(34, bitmapSize);
HEADERS(38, horizontalResolution);
HEADERS(42, verticalResolution);
HEADERS(46, numColors);
HEADERS(50, impColorCount);
HEADERS(54, redBitmask);
HEADERS(58, greenBitmask);
HEADERS(62, blueBitmask);
HEADERS(66, alphaBitmask);
RAW
Açıklaması şöyle. Sensörden gelen işlenmemiş ham veridir.
Açıklaması şöyle.Açıklaması şöyle. Sensörden gelen işlenmemiş ham veridir.
...a raw image stores the input as it comes off the sensor, so each pixel will have a single colour and 12-16 bit value depending on your model of camera.
HEIC
Açıklaması şöyle. Apple ürünlerinde kullanılan format.
Apple Products are known for having extremely high-quality cameras with the ability to capture dynamic and high-definition images using your easily accessible mobile device...These images, though they can easily meet the needs of any project due to their clarity and definition, are not saved in an easily transferable format. The HEIC file format is the default for all iPhone and Apple images, which is how they can retain their quality, but this format is not compatible with many different Operating Systems. While Macs now have the ability to read HEIC, Windows 10 does not have any built-in support and needs a third-party viewer to access them.
JPEG veya JPG
JPEG file is made up of a series of segments each started by a two byte marker - 0xFF and another byte to indicate the type of segment.Huffman
Açıklaması şöyle.
MetadataThe JPEG standard provides general-purpose Huffman tables; encoders may also choose to generate Huffman tables...
JPEG ile kullanılan metadata ile ilgili bir örnek burada. Metadata içinde bir sürü alan olabiliyor. Açıklaması şöyle
It has some metadata: text Exif tags as well as 8.6kB of Color Profile information, and a 5,557-byte Thumbnail as well as a 648,534-byte Preview Image (that I cannot read) and some other random things (like Face Detect Area) that take up little spaceMetadata içindeki COM (Comment'in kısaltması) isimli bir alan ile ilgili bir zamanlar önemli bir güvenlik açığı varmış.
Sıkıştırma
JPEG sıkıştırması, az veya çok biraz kayıp getirir. Yani lossy bir formattır. Sıkıştırma özelliği en çok çok renkli resimlerde işe yarar.
Sıkıştırma kalitesi ile oynayarak dosya büyüklüğünü değiştirmek mümkün."JPEG images are saved using downsampling techniques. Because of this, the image is distorted a little (or a lot) after compression, depending on the quality setting.
JPEG is best used for phographs and in-game screen shots, or anything else that includes vivid amount of colors.
JPEG is not recommended for images with flat colors, or sharp edged art (i.e blank desktops) as PNG is better suited for this type of image."
Eğer bir JPEG resmi açılıp tekrar JPEG olarak kaydedilirse resimde daha da bozulma olur.
Be aware that JPEG compression quality loss is cumulative, meaning that if you open a JPEG image and edit it (crop, change color, resize, etc.) and resave it as a JPEG image quality will be lost. It is a good idea not to repeatedly save as a JPEG.
1. Convert colorspace. If desired, downsample color information (chroma subsampling) (Lossy). If not downsampled, loss of information is the result of rounding error.Renk Biti
2. Segmentation. Divide each channel into 8x8 blocks (MCU = Minimal Coding Unit). (Lossless)
Note: If chroma subsampling is enabled, MCUs may effectively be 16x8, 8x16, or 16x16, in terms of the original image. However, the MCUs are still all 8x8 blocks.
3. Discrete Cosine Transform (DCT) on each MCU. Loss of information is the result of rounding error.
4. Quantization. The value in each cell of the MCU is divided by a number specified in a quantization table (DQT). Values are rounded down, many of which will become zero. This is the primary lossy portion of the algorithm.
5. Zig-Zag Scan. Rearrange values in each MCU into a sequence of numbers following a zig-zag pattern. The zeros that occurred during quantization will be grouped together. (Lossless)
6. DPCM = Differential Pulse Code Modulation. Convert the number sequences into a form that is easier to compress. (Lossless)
7. RLE = Run Length Encoding. Consecutive zeros are compressed. (Lossless)
8. Entropy/Huffman Coding. (Lossless)
Kanal başına bir renk için 8 bit kullanır. Üç renk için 24 bit kullanır. Açıklaması şöyle.
A jpeg file will have 3 colours for each pixel with every chanel at 8 bits.Alpha Kanalı
JPEG alpha kanalını desteklemez.
Renk Uzayı
Renk uzayı olarak CMYK,YCCK kullanılabilir. Açıklaması şöyle
TIFF - Tagged Image File Format
Images encoded with only one component are assumed to be grayscale data in which 0 is black and 255 is white. Images encoded with three components are assumed to be RGB data encoded as YCbCr unless the image contains an APP14 marker segment as specified in 6.5.3, in which case the colour encoding is considered either RGB or YCbCr according to the application data of the APP14 marker segment. The relationship between RGB and YCbCr is defined as specified in Rec. ITU-T T.871 | ISO/IEC 10918-5. Images encoded with four components are assumed to be CMYK, with (0,0,0,0) indicating white unless the image contains an APP14 marker segment as specified in 6.5.3, in which case the colour encoding is considered either CMYK or YCCK according to the application data of the APP14 marker segment. The relationship between CMYK and YCCK is defined as specified in clause 7.
Renk Uzayı
CMYK kullanır. Açıklaması şöyle.
The de facto standard raster image format for CMYK printing is TIFF.
Renk biti
Bir renk için 8 veya 16 bit kullanır.
GeoTIFF
Açıklaması şöyle.
...which is a special type of TIFF that stores the information necessary to place each pixel in the image on the surface of the Earth. It’s an incredibly flexible and useful format, and is increasingly by adopted to store more types of data than just images.GIF
Header
Açıklaması şöyle
Every GIF image has the characters "GIF87a" as the first 6 bytesRenk biti
Bir piksel için 8 bit kullanır. Yani sadece 256 renk olabilir.
Frame Sayısı
GIF frame'lerden oluşur. Görmek için şöyle yaparız.
Frame Uzunluğu$ exiftool giphy.gif ExifTool Version Number : 10.10 File Name : giphy.gif Directory : . File Size : 2.1 MB File Modification Date/Time : 2018:04:22 21:00:42-04:00 File Access Date/Time : 2018:04:22 21:01:03-04:00 File Inode Change Date/Time : 2018:04:22 21:00:52-04:00 File Permissions : rw-rw-r-- File Type : GIF File Type Extension : gif MIME Type : image/gif GIF Version : 89a Image Width : 500 Image Height : 281 Has Color Map : Yes Color Resolution Depth : 7
Bits Per Pixel : 7
Background Color : 127 Animation Iterations : Infinite XMP Toolkit : Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 Creator Tool : Adobe Photoshop CS6 (Macintosh) Instance ID : xmp.iid:C312DB1DA6A311E5B8F5D2BA262E999D Document ID : xmp.did:C312DB1EA6A311E5B8F5D2BA262E999D Derived From Instance ID : xmp.iid:C312DB1BA6A311E5B8F5D2BA262E999D Derived From Document ID : xmp.did:C312DB1CA6A311E5B8F5D2BA262E999D
Frame Count : 33
Duration : 2.31 s Image Size : 500x281 Megapixels : 0.141
Her frame 10 ms'dir. Açıklaması şöyle.
the resolution of frame times in GIF is 10ms
PNG
Resim Formatları - PNG yazısına taşıdım.
Resim Formatına Erişme
Java
IIOMetadata sınıfı kullanılır.
ImageReader imageReader = ...
IIOMetadata metadata = imageReader.getImageMetadata(0);