看板 PCCU-CS 關於我們 聯絡資訊
題目:細線化指紋影像 下載指紋影像 http://www.badongo.com/file/3317703 共13張,已事先強化過 ============================== 程式範例 ============================= filename = '01.tif'; % 檔名 kernel = [0 1 0; 1 1 1; 0 1 0]; % 遮罩 cycles = 1; % 細線化的次數 img = imread(filename); % 讀檔 bimg = zeros(size(img)); % 二元影像 bimg(img < 128) = 1; % 二元化 simg = zeros(size(img)); % 細線化影像 eimg = bimg; % 侵蝕影像 while any(eimg(:)) oimg = imopen(eimg,kernel); % 開合影像 simg = simg | (eimg & ~oimg); % 侵蝕影像 - 開合影像 eimg = imerode(eimg,kernel); % 侵蝕 cycles = cycles + 1; end imshow(simg) ============================== 程式結束 ============================= 就這麼簡單? 當然... 不是啦 針對指紋的細線化,可以去Google找資料 我的做法是用一個3x3的遮罩 +---+---+---+ | 8 | 1 | 2 | 根據號碼順序形成一個迴圈,定義以下兩個變數 +---+---+---+ | 7 | V | 3 | NOO : 數值為1的個數 +---+---+---+ | 6 | 5 | 4 | COS : 數值由0變1的個數 +---+---+---+ 一次細線化過程分兩個步驟,當步驟裡四個條件都滿足時V值會由1變0,也就是消掉。 步驟一 1. 2 <= NOO <= 6 2. COS = 1 3. blk(1) * blk(3) * blk(7) = 0 4. blk(1) * blk(5) * blk(7) = 0 步驟二 1. 2 <= NOO <= 6 2. COS = 1 3. blk(1) * blk(3) * blk(5) = 0 4. blk(3) * blk(5) * blk(7) = 0 這個方法非常耗時間,不能把斷掉的紋路接起來,還會有小分叉。 要程式碼的私底下msn敲我,over -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.89.82
hairless:我愛您^3^ 06/06 14:18
lingpxs:怎麼覺的老大講話越來越風趣了...= = 06/07 15:51
shin696:作業可以都m起來嗎?我總覺得一年會後我會用到...-_-" 06/10 21:08