RGB Color Space Image Segmentation

3 views (last 30 days)
Hello All.
I have been trying to replace the original R, G and B components of an RGB image by applying the attached equations in MATLAB.
I don't know the functions to use. I have tried applying different filters but the results I get are inaccurate.
  8 Comments
Mrutyunjaya Hiremath
Mrutyunjaya Hiremath on 24 Apr 2020
There is a problem in given equations
Here is the reults, after some assumptions for intitial values, like Idash ... sigma ...
Muftahu Kabir
Muftahu Kabir on 24 Apr 2020
Edited: Muftahu Kabir on 24 Apr 2020
@Mrutyunjaya Hiremath
Interesting.... After using which of the equations did you arrive at your result? I have been trying to get a similar result to yours using equation (4) but I couldn't. Can you please share the code you used?

Sign in to comment.

Accepted Answer

Mrutyunjaya Hiremath
Mrutyunjaya Hiremath on 25 Apr 2020
Hello Muftahu Kabir,
Here is the code ...
clear all;
close all;
clc;
I = imread('1.jpg');
figure, imshow(I);
IR = I(:,:,1);
IG = I(:,:,2);
IB = I(:,:,3);
I4 = I;
I41Index = find((IG - ((IR+IB)/2) + 15) > 0);
I4(I41Index) = 0;
I42Index = find((IR - IB) > 20);
I4(I42Index) = 0;
I43Index = find((IG - IR) > 15);
I4(I43Index) = 0;
figure, imshow(I4);
I5 = I4;
delta = 50;
I51Index = find(I4 > (255 - delta));
I5(I51Index) = 0;
I52Index = find(I4 < delta);
I5(I52Index) = 0;
figure, imshow(I5);
I6 = I5;
I61Index = find(I5 > 0);
I6(I61Index) = 255;
I62Index = find(I5 == 0);
I6(I62Index) = 0;
figure, imshow(I6);
imwrite(I6, 'I6.jpg');
  1 Comment
Muftahu Kabir
Muftahu Kabir on 4 Jun 2020
Hello Mrutyunjaya Hiremath,
I truly appreciate your contribution.
It has gone a long way assisting me in doing my research. Thank you so much

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!