Ngày tải lên :
14/03/2014, 23:41
... NhậnDạngKhuônMặt
*Matlab2013cóhàmhỗtrợnhậndạngkhuônmặt.tacóthểsửdụnghàmhỗtrợnàynhưsau:
functionbai10()
%Example1:Facedetection
%
faceDetector=vision.CascadeObjectDetector();%Default:findsfaces
Origin=imread('path_image\.jpg');
bboxes=step(faceDetector,Origin);%Detectfaces
%Annotatedetectedfaces
IFaces=insertObjectAnnotation(Origin,'rectangle',bboxes,'Face');
figure,imshow(IFaces),title('Detectedfaces');
end
*Ýtưởngthựchiệnviếtchươngtrình(khôngsửdụnghàmhỗtrợ):
Sơđồkhốicho bài toán
Tạo1cơsởdữliệugồmn ảnh, mỗi ảnh đượcđặttêntheothứtựlàcácsónguyêntừ1đếnn
đểtiệnchoviệcquản lý tập ảnh này(ntùyvào số lượng ảnh) .
Ảnh đượcđưavào tập cơsởdữliệusẽđượcdùngđểhuấnluyện,từđâysửdụngcácphương
pháptríchrútđặctrưngvàđưaravectođặctrưngchoviệcnhậndạng.
Khiđưa ảnh cầnnhậndạngvàotathựchiệntínhtọađộhìnhchiếucủa ảnh nàyvàcủacảnhững
ảnh trongcơsởdữliệuđãcó,rồiđemsosánhkếtquả.
Thựchiệnđokhoảngcách(khoảngcáchEuclid)giữatọađộhìnhchiếucủa ảnh cầnkiểmtra
vớitọađộhìnhchiếucủacác ảnh trongcơsởdữliệu.Bức ảnh nàotrongcơsởdữliệucókhoảngcách
sovới ảnh cầnkiểmtralàngắnnhấtthìtachọn.
kenhR=origin(:,:,1);
subplot(3,2,3),imshow(kenhR),title('Red');
kenhG=origin(:,:,2);
subplot(3,2,4),imshow(kenhG),title('Green');
kenhB=origin(:,:,3);
subplot(3,2,5),imshow(kenhB),title('Blue');
trungviR=medfilt2(kenhR,[33]);
trungviG=medfilt2(kenhG,[33]);
trungviB=medfilt2(kenhB,[33]);
rgb_filtered=cat(3,trungviR,trungviG,trungviB);
gray_filtered=medfilt2(gray,[33]);
gray_RGB=rgb2gray(rgb_filtered);
d=abs(gray_RGBgray_filtered);
subplot(3,2,6),imshow(d,[]),title('saikhac');
end
ViếtchươngtrìnhMatlabthựchiệnnhậndạngmộtđốitượngtùyý(1chữcái,chữ số, vậtthể
bấtkỳ,…)
BÀITẬPXỬLÝ ẢNH SỐ
1) ... NhậnDạngKhuônMặt
*Matlab2013cóhàmhỗtrợnhậndạngkhuônmặt.tacóthểsửdụnghàmhỗtrợnàynhưsau:
functionbai10()
%Example1:Facedetection
%
faceDetector=vision.CascadeObjectDetector();%Default:findsfaces
Origin=imread('path_image\.jpg');
bboxes=step(faceDetector,Origin);%Detectfaces
%Annotatedetectedfaces
IFaces=insertObjectAnnotation(Origin,'rectangle',bboxes,'Face');
figure,imshow(IFaces),title('Detectedfaces');
end
*Ýtưởngthựchiệnviếtchươngtrình(khôngsửdụnghàmhỗtrợ):
Sơđồkhốicho bài toán
Tạo1cơsởdữliệugồmn ảnh, mỗi ảnh đượcđặttêntheothứtựlàcácsónguyêntừ1đếnn
đểtiệnchoviệcquản lý tập ảnh này(ntùyvào số lượng ảnh) .
Ảnh đượcđưavào tập cơsởdữliệusẽđượcdùngđểhuấnluyện,từđâysửdụngcácphương
pháptríchrútđặctrưngvàđưaravectođặctrưngchoviệcnhậndạng.
Khiđưa ảnh cầnnhậndạngvàotathựchiệntínhtọađộhìnhchiếucủa ảnh nàyvàcủacảnhững
ảnh trongcơsởdữliệuđãcó,rồiđemsosánhkếtquả.
Thựchiệnđokhoảngcách(khoảngcáchEuclid)giữatọađộhìnhchiếucủa ảnh cầnkiểmtra
vớitọađộhìnhchiếucủacác ảnh trongcơsởdữliệu.Bức ảnh nàotrongcơsởdữliệucókhoảngcách
sovới ảnh cầnkiểmtralàngắnnhấtthìtachọn.
kenhR=origin(:,:,1);
subplot(3,2,3),imshow(kenhR),title('Red');
kenhG=origin(:,:,2);
subplot(3,2,4),imshow(kenhG),title('Green');
kenhB=origin(:,:,3);
subplot(3,2,5),imshow(kenhB),title('Blue');
trungviR=medfilt2(kenhR,[33]);
trungviG=medfilt2(kenhG,[33]);
trungviB=medfilt2(kenhB,[33]);
rgb_filtered=cat(3,trungviR,trungviG,trungviB);
gray_filtered=medfilt2(gray,[33]);
gray_RGB=rgb2gray(rgb_filtered);
d=abs(gray_RGBgray_filtered);
subplot(3,2,6),imshow(d,[]),title('saikhac');
end
ViếtchươngtrìnhMatlabthựchiệnnhậndạngmộtđốitượngtùyý(1chữcái,chữ số, vậtthể
bấtkỳ,…)
BÀITẬPXỬLÝ ẢNH SỐ
1) Lọc ảnh (sửdụngphéptươngquan)trênmiềnkhônggian
filtered=spatial_filter(image,mask)
Trongđóimagelà ảnh xámcầnlọc,masklàmặtnạlọc(kíchthướcmỗichiềulà số lẻ),
filteredlà ảnh saukhilọc.
Bài làm:
functionloc_anh=spatial_filter(image,mask)
clc;closeall;
[row_image,colum_image]=size(image);
[row_mask,colum_mask]=size(mask);
fori=1:row_image+2*floor(row_mask/2)
forj=1:colum_image+2*floor(colum_mask/2)
loc_anh(i,j)=0;
end
end
fori=1:row_image
forj=1:colum_image
loc_anh(i+floor(row_mask/2),j+floor(colum_mask/2))=image(i,j);
end
end
fori=1:row_image
forj=1:colum_image
bientam=0;
foru=1:row_mask
forv=1:colum_mask
bientam=bientam+loc_anh(ifloor(row_mask/2)+u,
jfloor(colum_mask/2)+v)*mask(u,v);
end
end
image(i,j)=bientam;
end
end
loc_anh=image;
end
Thaotác:(tacómatrậnAlà ảnh vàmlàmặtnạlọctùyý)
>> ... Thựchiệnlọctrungvịcho ảnh xámgray,gánkếtquảvàobiếngray_filtered.
● Hiểnthịđộsaikháctạimỗiđiểm ảnh giữa ảnh xámcủa ảnh rgb_filteredvàgray_filtered.
Bài làm:
functiond=bai9(file)
clc;closeall;
origin=imread('D:\Game\anh\Kayle.jpg');
subplot(3,2,1),imshow(origin),title('origin');
gray=rgb2gray(origin);
subplot(3,2,2),imshow(gray),title('gray');
6)...