2015-06-08 25 views
1

我需要自動化視頻中人臉的模糊/像素化。我使用MATLAB腳本完成了這個任務。我有R2013a版本,所以像readFrame和hasFrame這樣的函數不起作用,因此是怪異的代碼。該代碼當前使用框註釋了人臉。我需要對此區域進行像素化處理,或者最好使用高斯模糊處理此區域。我該怎麼做?我無法找到任何相關的東西。如何在MATLAB中對檢測到的人臉進行像素化/模糊處理?

%%MATLAB Code for R2013a (Code needs revision for newer versions) for boxing faces in a mp4 file file.mp4, saving it in AVI format as Detected_One 
videoFReader = vision.VideoFileReader('file.mp4'); 
Videra=VideoReader('file.mp4'); 
%%Extracts original footage's num_frames and frame_rate 
numFr=Videra.NumberOfFrames; 
frmRa=Videra.FrameRate; 
writerObj = VideoWriter('Detected_One'); 
%%Sets the written video's framerate as that of old 
writerObj.FrameRate = frmRa; 
open(writerObj); 
faceDetector = vision.CascadeObjectDetector(); 

for i=1:numFr 
    display(i); 
    videoFrame = step(videoFReader); 
    bbox   = step(faceDetector, videoFrame); 
    videoOut = insertObjectAnnotation(videoFrame,'rectangle',bbox,'Face'); 
    writeVideo(writerObj,videoOut); 
close(figure); 

end 

release(videoFReader); 
close(writerObj); 

回答

1

如果谷歌 「高斯模糊Matlab的」 你會得到下一個頁面:

http://uk.mathworks.com/help/images/ref/fspecial.html

在這裏你可以瞭解如何模糊:

H = fspecial('gaussian',[5 5],0.5); 
blurred = imfilter(Image,H,'replicate'); 

如果您只想模糊圖像的一部分,提取該部分,模糊它,然後再修補它!

+0

謝謝!我不知道提取和修補部分圖像的可能性。 – Ashtrix

+0

@Ashtrix沒有問題;)。希望答案有幫助。 –

+0

我得到了這個工作與提取部分模糊,但我不知道如何補丁回來。將提取的部分修補回原來的最簡單的方法是什麼? – Ashtrix