照片人臉檢測MATLAB代碼_第1頁
照片人臉檢測MATLAB代碼_第2頁
照片人臉檢測MATLAB代碼_第3頁
照片人臉檢測MATLAB代碼_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.% 載入圖像Img = imread('star1.jpg');if ndims(Img) = 3I=rgb2gray(Img);elseI = Img;endBW = im2bw(I, graythresh(I); % 二值化figure;subplot(2, 2, 1); imshow(Img);title(' 原圖像 ', 'FontWeight', 'Bold');subplot(2, 2, 2); imshow(Img);title(' 網(wǎng)格標(biāo)記圖像 ', 'FontWeight', &

2、#39;Bold');hold on;xt, yt = meshgrid(round(linspace(1, size(I, 1), 10), .round(linspace(1, size(I, 2), 10);mesh(yt, xt, zeros(size(xt), 'FaceColor', .'None', 'LineWidth', 3, .'EdgeColor', 'r');subplot(2, 2, 3); imshow(BW);title(' 二值圖像 ', 'FontW

3、eight', 'Bold');n1, n2 = size(BW);r = floor(n1/10); % 分成 10 塊,行c = floor(n2/10); % 分成 10 塊,列x1 = 1; x2 = r; % 對應(yīng)行初始化s = r*c; % 塊面積for i = 1:10y1 = 1; y2 = c; % 對應(yīng)列初始化for j = 1:10if (y2<=c | y2>=9*c) | (x1=1 | x2=r*10)% 如果是在四周區(qū)域loc = find(BW(x1:x2, y1:y2)=0);p, q = size(loc);pr = p/

4、s*100; % 黑色像素所占的比例數(shù)if pr <= 100BW(x1:x2, y1:y2) = 0;endendy1 = y1+c; % 列跳躍y2 = y2+c; % 列跳躍endx1 = x1+r; % 行跳躍x2 = x2+r; % 行跳躍'.endL, num = bwlabel(BW, 8); % 區(qū)域標(biāo)記stats = regionprops(L, 'BoundingBox'); % 得到包圍矩形框Bd = cat(1, stats.BoundingBox);s1, s2 = size(Bd);mx = 0;for k = 1:s1p = Bd(k

5、, 3)*Bd(k, 4); % 寬* 高if p>mx && (Bd(k, 3)/Bd(k, 4)<1.8% 如果滿足面積塊大,而且寬 /高<1.8mx = p;j = k;endendsubplot(2, 2, 4);imshow(I); hold on;rectangle('Position', Bd(j, :), .'EdgeColor', 'r', 'LineWidth', 3);title(' 標(biāo)記圖像 ', 'FontWeight', 'Bol

6、d');if ndims(Img) = 3I=rgb2gray(Img);elseI = Img;endBW = im2bw(I, graythresh(I); % 二值化figure;subplot(2, 2, 1); imshow(Img);title(' 原圖像 ', 'FontWeight', 'Bold');subplot(2, 2, 2); imshow(Img);title(' 網(wǎng)格標(biāo)記圖像 ', 'FontWeight', 'Bold');hold on;xt, yt = m

7、eshgrid(round(linspace(1, size(I, 1), 10), .round(linspace(1, size(I, 2), 10);mesh(yt, xt, zeros(size(xt), 'FaceColor', .'None', 'LineWidth', 3, .'EdgeColor', 'r');subplot(2, 2, 3); imshow(BW);title(' 二值圖像 ', 'FontWeight', 'Bold');n1, n

8、2 = size(BW);r = floor(n1/10); % 分成 10 塊,行c = floor(n2/10); % 分成 10 塊,列x1 = 1; x2 = r; % 對應(yīng)行初始化'.s = r*c; % 塊面積for i = 1:10y1 = 1; y2 = c; % 對應(yīng)列初始化for j = 1:10if (y2<=c | y2>=9*c) | (x1=1 | x2=r*10)% 如果是在四周區(qū)域loc = find(BW(x1:x2, y1:y2)=0);p, q = size(loc);pr = p/s*100; % 黑色像素所占的比例數(shù)if pr &l

9、t;= 100BW(x1:x2, y1:y2) = 0;endendy1 = y1+c; % 列跳躍y2 = y2+c; % 列跳躍endx1 = x1+r; % 行跳躍x2 = x2+r; % 行跳躍endL, num = bwlabel(BW, 8); % 區(qū)域標(biāo)記stats = regionprops(L, 'BoundingBox'); % 得到包圍矩形框Bd = cat(1, stats.BoundingBox);s1, s2 = size(Bd);mx = 0;for k = 1:s1p = Bd(k, 3)*Bd(k, 4); % 寬* 高if p>mx && (Bd(k, 3)/Bd(k, 4)<1.8% 如果滿足面積塊大,而且寬 /高<1.8mx = p;j = k;endendsubplot(2, 2, 4);imshow(I); hold on;rectangle('Position&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論