我如何 pixelate/blur 在 MATLAB 中检测人脸?
How do I pixelate/blur detected face in MATLAB?
我需要自动处理视频中 blurring/pixelation 的面孔。我使用 MATLAB 脚本完成了这项工作。我有 R2013a 版本,所以 readFrame 和 hasFrame 等函数不起作用,因此出现了奇怪的代码。该代码当前使用框对面部进行注释。我需要对这个区域进行像素化处理,或者最好对此使用高斯模糊。我该怎么做?我找不到任何相关的东西。
%%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);
如果您 google "gaussian blur Matlab" 您将进入下一页:
http://uk.mathworks.com/help/images/ref/fspecial.html
在哪里可以了解如何模糊:
H = fspecial('gaussian',[5 5],0.5);
blurred = imfilter(Image,H,'replicate');
如果您只想模糊图像的一部分,请提取该部分,对其进行模糊处理,然后再次修补!
我需要自动处理视频中 blurring/pixelation 的面孔。我使用 MATLAB 脚本完成了这项工作。我有 R2013a 版本,所以 readFrame 和 hasFrame 等函数不起作用,因此出现了奇怪的代码。该代码当前使用框对面部进行注释。我需要对这个区域进行像素化处理,或者最好对此使用高斯模糊。我该怎么做?我找不到任何相关的东西。
%%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);
如果您 google "gaussian blur Matlab" 您将进入下一页:
http://uk.mathworks.com/help/images/ref/fspecial.html
在哪里可以了解如何模糊:
H = fspecial('gaussian',[5 5],0.5);
blurred = imfilter(Image,H,'replicate');
如果您只想模糊图像的一部分,请提取该部分,对其进行模糊处理,然后再次修补!