2011-07-06 72 views
3

當我在2D平面(透視投影)上投影3D模型時,投影的結果如下圖所示。如何填充投影圖像的空白部分?

Resulted Projection

,我需要在此圖像中,以填補空白點,像這樣一個

我不知道,我可以使用任何圖像處理算法找到一個好辦法用專業的方式來填補這個點用matlab

Silhouette image

回答

2

這裏是一個有點等同於@belisarius的MATLAB版本回答:

I = double(imread('http://i.stack.imgur.com/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

+0

謝謝:) :) 工作正常 –

+0

@ Amr Ramdan ::目前,我正在處理同樣的問題。你能看到和評論...謝謝 – 2vision2

+0

@ 2vision2:它不是真的是同樣的問題。看到我對你的問題的評論.. – Amro

3

守則Mathematica。 Matlab肯定有相同的圖像轉換。

enter image description here

讓我們來看看這兩個圖像如何適應:

enter image description here

正如你所看到的,脖子有點Hulkish ......否則結果是相當不錯的

+0

@Amr我沒有Matlab的手邊,但我知道這些基本的命令必須在Matlab –

+0

一一一對應我在MATLAB某種方式,我創建了一個方形的螞蟻補做但它給了我一個非常非常差的結果(http://i.imgur.com/0UGiy.png) –

+0

@Amr「模糊」後跟「銳化」的目的是擺脫那些醜陋的邊界 –