# make objects the same class as those around them

3 views (last 30 days)

Show older comments

hello everyone,

I have an image with many cathegorical objects.

I want to transform the blue objects which are "surrounded" by the orange objects of the same category as the orange objects. (only if there ara surrounded by orange objects)

Please How Can I do That ?

##### 4 Comments

Steven Lord
on 4 Apr 2022

### Answers (1)

Chandra
on 7 Apr 2022

Hi,

Objects of blue colour surrounded by the objects of orange are to be classified into orange objects

Classifying the objects using the colour, by separating the objects into different image and then combining based on the surrounding objects

A = imread('blue_orange.png');

%Obtaining the image with only orange class(which is similar to red)

B = zeros(size(A));

B(:,:,1) = A(:,:,1);

%obtaining the blue colored objects

C = zeros(size(A));

C(:,:,3) = (255/max(max(A(:,:,3))))*A(:,:,3);

%separating the object from background

[kk,kk1] = size(C(:,:,3));

D = C;

D1 = im2bw(C,0.9);

D = 255*D1;

%combining the objects

D= C+B;

%finding the maximum location of orange object

for i = 10:kk-10

for j = 10:kk1-10

if B(i,j,1) >= max(max(B(:,:,1)))

B_m = i;

B_n = j;

break;

end

end

end

%estimating the surrounding objects and assigning required value %to E variable

E = A;

for i = 6:kk-6

for j = 6:kk1-6

if C(i,j,3)==max(max(C(:,:,3)))

if sum(sum(D(i-5:i+5,j-5:j+5,1)))>=100

E(i,j,1)=A(B_m,B_n,1);

E(i,j,2)=A(B_m,B_n,2);

E(i,j,3)=A(B_m,B_n,3);

end

end

end

end

figure,imshow(E,[]);

%you can use imwrite function to save the image in folder

%imwrite(E,’output.jpg’);

##### 0 Comments

### See Also

### Community Treasure Hunt

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

Start Hunting!