Amr Ramadan
Amr Ramadan

Reputation: 1269

How to fill empty parts of a projected image?

When i projected a 3D model on a 2D plan (Perspective projection) the result of the projection appeared as the following image.

Resulted Projection

and i need to fill empty points in this image to look like this one

i wonder that i can find a good way to fill this points with a professional way using any image processing algorithms using matlab

Silhouette image

Upvotes: 3

Views: 825

Answers (2)

Amro
Amro

Reputation: 124563

Here is a MATLAB version somewhat equivalent to @belisarius answer:

I = double(imread('https://i.sstatic.net/sedZH.png'));
BW = im2bw(I,graythresh(I));
BW = imerode(BW,strel('square',2*3+1));
BW = imfilter(BW, fspecial('average',10));
BW = imdilate(BW,strel('square',2*3+1));
BW = imcomplement(BW);
imshow(BW)

enter image description here

Upvotes: 2

Dr. belisarius
Dr. belisarius

Reputation: 61026

Code in Mathematica. Matlab surely has the equivalent image transformations.

enter image description here

Let's see how both images fit:

enter image description here

As you can see, the neck is a bit Hulkish ... otherwise the result is quite good

Upvotes: 3

Related Questions