Feature Extraction

CSC605_first

Contents

i1 = imread('1.png');
%imshow(i1);

f1 = fspecial('average', [3,3]);
aImage = imfilter(i1, f1);

%figure('Name','Origianl Image','NumberTitle','off'); imshow(i1);
%figure('Name', 'Average filter is applyed','NumberTitle','off'); imshow(aImage);

f2 = fspecial('gaussian');
gImage = imfilter(i1, f2);
%figure();imshow(i1);
%figure(); imshow(gImage);

%adding noice to image
%crete gray scale image
grayImage = rgb2gray(i1);
noiceImage = imnoise(grayImage, 'salt & pepper', 0.02);
%imshow(noiceImage);
meImage = medfilt2(noiceImage);
%figure('Name', 'Origianl Image', 'NumberTitle', 'off');imshow(noiceImage);
%figure('Name', 'After apply med filter', 'NumberTitle', 'off');imshow(meImage);

%minimum filter
%minImage = ordfilt2(i1, 1, true(5));
%imshow(minImage);

%convert image to binary image
bImage = im2bw(i1);
%imshow(bImage);

myHeart = imread('hs.jpeg');
grayImage = rgb2gray(myHeart);
bImage = im2bw(grayImage);
%imshow(bImage);

h = imread('ht.png');
gimage = rgb2gray(h);
bimage = im2bw(gimage);
compimage = imcomplement(bimage);
noiceFreeImage = medfilt2(compimage, [1,1,]);
se = strel('disk', 2);
erodeImage = imerode(noiceFreeImage, se);
openImage = bwareaopen(erodeImage, 200);
medFilteredImage = medfilt2(openImage, [3,3]);
dilalateImage = imdilate(medFilteredImage, se);

%figure; imshow(h);
%figure; imshow(bimage);
%figure; imshow(compimage);
%figure; imshow(noiceFreeImage);
%figure; imshow(erodeImage);
%figure; imshow(openImage);
%figure; imshow(medFilteredImage);
%figure; imshow(dilalateImage);

Reading a image form the HD

mainImage  = imread('ht.png');
figure; imshow(mainImage); title('Original Image');

Convert image to grayscale image

graySImage = rgb2gray(mainImage);
figure; imshow(graySImage); title('Gray scale Image');

Convert image to Black and white

binImage   = im2bw(graySImage, 0.32);
figure; imshow(binImage); title('Binary Image');

Get the complement of the black and white image

imageCoplement = imcomplement(binImage);
figure; imshow(imageCoplement); title('Complement of the binay image');

Remove some noice -[2-D median filtering]

noiceFree = medfilt2(imageCoplement, [3,3]);

Create Morphological structuring element

se = strel('disk', 2);
ses = strel('disk', 12);
sesDialate = strel('disk', 18);

Erode the image

structure = imerode(noiceFree, se);
figure; imshow(structure); title('Eroded binay image');

Remove small objects from binary image

structure2 = bwareaopen(structure, 200);

Remove some noice -[2-D median filtering]

structure3 = medfilt2(structure2, [3,3]);

Create image for remove from main image

erodeImage  = imerode(structure3, ses);
targetImage2 = bwareaopen(erodeImage, 200);
filterdImage = medfilt2(targetImage2, [1,1]);
figure; imshow(filterdImage); title('Eroded binay image for dilation');

Dilate the image

dilateImage = imdilate(filterdImage, sesDialate);
figure; imshow(filterdImage); title('Dilated binay image');

Final opearation A-B

minusImage = structure3 - dilateImage;
figure; imshow(minusImage); title('Figure A = Figure B');

display images

%figure; imshow(mainImage); title('Original Image');
%figure; imshow(structure3);
%figure; imshow(dilateImage);
%figure; imshow(filterdImage);
%figure; imshow(minusImage);