Color has been used to segment images in a variety of useful application such as; recognition of skin regions in face and hand, land cover in remote sensing, and cells in microscopy.[1]
This activity aims to use both Parametric and Non-Parametric Segmentation
First thing to do is to find an image to be sampled of different colors; that's why the first thing in mind is to find an image of a rainbow. [2] (I posted the link if ever you want to browse colorful images)
Anyway. I think this image is a very good example so we can have a bunch of colors to be our region of interest (ROI).
Figure 1. Rainbow colored image
The next part is cropping monochromatic region of interest in Figure 1. So for this image i cropped 7 colors (using Paint) to represent the 7 colors of the rainbow (ROYGBIV).
Figure 2. Cropped ROI from original image (ROYGBIV from left to right)
The first method is by parametric segmentation. This is implemented by the following code. Take note that the file names and the ROIs are varied inside the code for different colors.
clear;
stacksize('max');
ROI = double(imread('C:\Users\Jazz\Desktop\Color Segmentation\violet.png'));
R1 = ROI(:, :, 1);
G1 = ROI(:, :, 2);
B1 = ROI(:, :, 3);
I1 = R1 + G1 + B1;
I1 (find(I1==0)) = 1000000;
r1 = R1 ./ I1;
g1 = G1 ./ I1;
mu_r = mean2(r1);
mu_g = mean2(g1);
sigma_r = std2(r1);
sigma_g = std2(g1);
disp(sigma_g)
im = double(imread('C:\Users\Jazz\Desktop\Color Segmentation\rainbow.jpg'));
R = im(:, :, 1);
G = im(:, :, 2);
B = im(:, :, 3);
I = R + G + B;
I (find(I==0)) = 1000000;
r = R ./ I;
g = G ./ I;
Pr = exp(-((r - mu_r).^2)/(2*(sigma_r.^2)));
Pg = exp(-((g - mu_g).^2)/(2*(sigma_g.^2)));
segmented_image = Pr.*Pg;
imshow(segmented_image);
imwrite(segmented_image,'C:\Users\Jazz\Desktop\Color Segmentation\rainbowviolet.jpg' );
The results is the following :
Figure 3. Segmented image using RED region of interest at the corner
Figure 4. Segmented image using ORANGE region of interest at the corner
Figure 5. Segmented image using YELLOW region of interest at the corner
Figure 6. Segmented image using GREEN region of interest at the corner
Figure 7. Segmented image using BLUE region of interest at the corner
Figure 8. Segmented image using INDIGO region of interest at the corner
Figure 9. Segmented image using VIOLET region of interest at the corner
[1]AP 186 Handouts. A9 –Color Image Segmentation. Maricor Soriano 2013
[2]http://4hdwallpapers.com/abstract-rainbow-wallpapers.html
--------------------------------------------------------------------------------------------
Self-Grade:
8/10
No comments:
Post a Comment