## Thursday, 21 November 2013

### Study of Read and write different types of images in MATLAB (Binary image, Grayscale image and Color image).

AIM: Read and write different types of images (Binary image, Grayscale image and Color image)

THEORY:

Basically image having three types
1) Binary image: Binary image is the image which having 1 bit/pixel. It has 1 bitplane. Minimum pixel value of image is 0 and maximum is 1.
2) Grayscale Image: Grayscale image is the image having 8 bits/pixel. It has 8 bitplanes. Minimum pixel value of image is 0 and maximum pixel value is 2^8-1  i.e 255 where 8 is number of bits required to represent pixel.
3) Color image: Color image is the image having 24 bits/pixel. It has 3 planes red green and blue. It has 24 bit planes. Minimum pixel value of image is 0 and maximum pixel value is 2^24-1.

Some Image file formats:

PORCEDURE:

 A = imread(filename, fmt)

A = imread(filename, fmt) reads a grayscale or color image from the file specified by the string filename. If the file is not in the current directory, or in a directory on the MATLAB path, specify the full pathname.
The text string fmt specifies the format of the file by its standard file extension. For example, specify 'gif' for Graphics Interchange Format files. To see a list of supported formats, with their file extensions, use the imformats function. If imread cannot find a file named filename, it looks for a file named filename.fmt.

Syntax for imwrite:

 imwrite(A,filename,fmt)

imwrite(A,filename,fmt) writes the image A to the file specified by filename in the format specified by fmt.
A can be an M-by-N (grayscale image) or M-by-N-by-3 (truecolor image) array, but it cannot be an empty array. For TIFF files, A can be an M-by-N-by-4 array containing color data that uses the CMYK color space. For GIF files, A can be an M-by-N-by-1-by-P array containing grayscale or indexed images — RGB images are not supported. For information about the class of the input array and the output image.
Syntax for Checking size:

 d=size(X) [m,n]= size(X) m = size(X,dim) [d1,d2,d3,...,dn] = size(X),

d = size(X) returns the sizes of each dimension of array X in a vector d with ndims(X) elements. If X is a scalar, which MATLAB software regards as a 1-by-1 array, size(X) returns the vector
[1 1].
Program:

 % Image read Write [file path]=uigetfile('*.*'); img=imread(file); % Image reading figure;imshow(img) [r c p]=size(img); %Checking Size cropped_img=img(100:300,100:300); %Image      Cropping figure;imshow(cropped_img) [file path]=uiputfile('*.bmp'); imwrite(img,[path file]) % Writing Image

Outputs:
1) For Grayscale Image

Grayscale Image
Cropped Image

2) For Color Image
Color Image

Binary Image