影像處理 基本架構與應用 影像處理的基本架構 影像處理方塊圖 數位影像的特色 彩色影像與灰階影像的表示 相關研究領域與應用例

Slides:



Advertisements
Similar presentations
大綱 1. 三角函數的導函數. 2. 反三角函數的導函數. 3. 對數函數的導函數. 4. 指數函數的導函數.
Advertisements

變數與函數 大綱 : 對應關係 函數 函數值 顧震宇 台灣數位學習科技股份有限公司. 對應關係 蛋餅飯糰土司漢堡咖啡奶茶 25 元 30 元 25 元 35 元 25 元 20 元 顧震宇 老師 台灣數位學習科技股份有限公司 變數與函數 下表是早餐店價格表的一部分: 蛋餅 飯糰 土司 漢堡 咖啡 奶茶.
第一單元 建立java 程式.
單元九:單因子變異數分析.
对本书、视频等任何MATLAB问题,作者做到有问必答!
圓的一般式 內容說明: 由圓的標準式展出圓的一般式.
圓的一般式 內容說明: 由圓的標準式展出圓的一般式.
第 9 章 多媒體.
2012資電科技寒假營 機器視覺與影像處理 助教:許原彰.
色彩基本認識 2010 年 9 月 Hsiu-fen Wang
MATLAB 程式設計入門篇 影像顯示與讀寫
数字图像处理 刘伯强 山东大学生物医学工程.
Project 2 JMVC code tracing
題目:十六對一多工器 姓名:李國豪 學號:B
簡易C++除錯技巧 長庚大學機械系
Outline 區域變數(Local Variables) 全域變數(Global Variables) 基本 I/O 操作
數位影像處理 2 影像與MATLAB.
數位影像處理 Digital Image Processing
師大資工所助教 羅安鈞 Matlab with DIP 教學 師大資工所助教 羅安鈞
類別(class) 類別class與物件object.
安裝JDK 安裝Eclipse Eclipse 中文化
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A.
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
何清波 博士 副教授 中国科学技术大学 精密机械与精密仪器系 安徽合肥 电话:
雲端計算.
Digital Image Processing 數位影像處理
第一章 直角坐標系 1-1 數系的發展.
第一單元 建立java 程式.
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
圖片格式簡介 張啟中.
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
第一章 直角坐標系 1-3 函數圖形.
色彩基本認識 2006 年 10 月 Hsiu-fen Wang.
高中二資訊科 數碼圖像.
Definition of Trace Function
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
CH05. 選擇敘述.
期末考.
本章學習目標 學習三維繪圖的基本技巧 學習peaks() 函數的用法 學習二維與三維等高線圖的繪製 學習三維圖形的編修
撰寫MATLAB基礎財務程式 柯婷瑱.
挑戰C++程式語言 ──第8章 進一步談字元與字串
图像的基本知识 《信息隐藏实验教程》教学幻灯片 二(2).
林福宗 清华大学 计算机科学与技术系 2008年9月 2019年5月5日 多媒体技术教程 第4章 彩色数字图像基础 林福宗 清华大学 计算机科学与技术系 2008年9月.
数字图像处理.
以四元樹為基礎抽取圖片物件特徵 之 影像檢索
MicroSim pspice.
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
MiRanda Java Interface v1.0的使用方法
第四章 門檻值決定與區域分割.
Photoshop.
Chapter 1 認識數位影像.
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A.
第十二章 離散小波轉換之相關浮水印技術.
資料表示方法 資料儲存單位.
非負矩陣分解法介紹 報告者:李建德.
補充 數值方法 數值方法.
小畫家教學 電子版儲存於 學校網頁/學科資訊/電腦科
第十三章 彩色影像處理.
第四組 停車場搜尋系統 第四組 溫允中 陳欣暉 蕭積遠 李雅俐.
單元三:敘述統計 內容: * 統計量的計算 * 直方圖的繪製.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Chapter 4 Multi-Threads (多執行緒).
11621 : Small Factors ★★☆☆☆ 題組:Problem Set Archive with Online Judge
17.1 相關係數 判定係數:迴歸平方和除以總平方和 相關係數 判定係數:迴歸平方和除以總平方和.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

影像處理 基本架構與應用 影像處理的基本架構 影像處理方塊圖 數位影像的特色 彩色影像與灰階影像的表示 相關研究領域與應用例 影像顯示與讀寫 -- Matlab

A:遮光布架;B:鏡頭;C:濾鏡;D:物件承盤;E:交流馬達;F:可程式控制器;G:控制盒;H:攝影單元支架;I:垂直調整台;J:CCD攝影機;K:水平調整台;L:光源;M:影像訊號傳輸線;N:個人電腦 數位影像基本架構 多分光影像攝影系統

影像處理方塊圖

數位影像的特色 一個影像可被定義成一個二維的函數f(x,y) 當是彩色影像時為(x,y,λ) ,當是動態影像時則為(x,y,λ,t) 當x,y,f的大小值都是有限的離散向量時,我們稱這幅映像是數位影像(digital image) 藉由數位電腦處理數位影像的領域稱之為數位影像處理(digital image processing) 像素(pixel)

太陽光電磁波光譜圖

CCD取像原理

鏡頭成像

RGB彩色立方體

灰階數位影像表示圖

彩色數位影像表示圖

與影像處理相關的研究領域 影像處理 Image Processing 電腦視覺 Computer Vision 改善影像資訊使人能理解 電腦視覺 Computer Vision 處理影像使電腦能感知物體 電腦繪圖 Computer Graphics 虛擬實境 Virtual Reality

數位影像處理的應用例子 現今使用的主要影像來源是電磁能光譜 其它尚有超音波圖、腦波圖、心電圖等

於核子醫學和天文學的應用 a 全身骨格掃描 b 正電子放射斷層攝影(PET) c Gamma頻帶天鵝座星環 d 核子反應器的閥 a b c

X光影像 a X光是放射線中最早被使用於獲取醫學影像的來源 也使用於天文學、工業上 a 胸部X光 b 大動脈血管圖 c 頭部CT切片 d X光影像 X光是放射線中最早被使用於獲取醫學影像的來源 也使用於天文學、工業上 a 胸部X光 b 大動脈血管圖 c 頭部CT切片 d 電子電路板的X光影像 e x光頻帶天鵝座星環

紫外光頻帶影像 紫外光的應用包括平板印刷術、工業上的檢視、顯微鏡、雷射、生物影像、天文觀測 a 正常玉蜀黍 b 被煙煤感染的玉蜀黍 c 紫外光頻帶影像 紫外光的應用包括平板印刷術、工業上的檢視、顯微鏡、雷射、生物影像、天文觀測 a 正常玉蜀黍 b 被煙煤感染的玉蜀黍 c 紫外光頻帶天鵝座星環

可見光與紅外光頻帶影像 光顯微鏡產生的影像 a 抗癌因子(taxol) x250 b 膽固醇 x40 c 微處理機 x60 d 氧化鎳薄膜 x600 e CD表面 x1750 f 有機超導體 x450

可見光與紅外光頻帶影像 遙測上的應用, 華盛頓特區的多光譜影像, 1~7 分別為依據 NASA LANDSAT衛星之七個頻帶所拍攝。

NASA LANDSAT 衛星之可見光與紅外光的光譜頻帶

可見光與紅外光頻帶影像 世界夜間照明資料庫 美洲的紅外線衛星影像 全世界的紅外線衛星影像

可見光與紅外光頻帶影像 製造產品的自動檢視應用 a光碟機電路板的控制器 b包裝的藥丸 c 瓶子 d 塑膠產品中的氣泡 e 麥片 f 人眼內的移植物

可見光與紅外光頻帶影像 影像辨識的應用 a 指紋辨識, b 紙幣辨識, c,d 汽車牌照辨識

無線電波影像 主要應用於醫學和天文上 無線電波用於磁共振成像(MRI), a 人的膝蓋骨, b 人的脊椎骨

其他成像 聲學成像 地質成像

其他成像 超音波成像 c. 甲狀腺的;甲狀軟骨的;盾狀的

其他成像 傳送式電子顯微鏡(TEM) 掃描式電子顯微鏡(SEM) SEM影像

其他成像 電腦合成影像

影像顯示與讀寫

MATLAB的影像格式 MATLAB 最常處理的影像格式為索引影像(Indexed Images) 顯示此類型影像的語法如下: image(X) colormap(map) 其中X為影像的資料矩陣,map為色盤矩陣。 色盤矩陣的大小為K×3,每個橫列由三個元素所組成,分別是R(紅) 、G(綠)、B(藍) ,每個元素的範圍為0~1 X的值為1~K,也就是當X(i, j)的值為p,則像素點(i, j) 的顏色為map(p, :)這一列的值所決定。

顯示索引影像 使用MATLAB顯示內建的小丑圖 image01.m load clown.mat % 載入小丑影像資料,含變數 X 和 map image(X); % 顯示影像 colormap(map) % 取用色盤矩陣

顯示索引影像 min(min(X)) = 1 X 是索引影像,其最小值是 1, 最大值會等於 map 的列數(即「可顯示之顏色數目」) image02.m load clown.mat % 載入小丑影像資料,含變數 X 和 map fprintf('min(min(X)) = %d\n', min(min(X))); fprintf('max(max(X)) = %d\n', max(max(X))); fprintf('size(map, 1) = %d\n', size(map, 1)); min(min(X)) = 1 max(max(X)) = 81 size(map, 1) = 81 此小丑影像共含有 81 種不同的顏色

顯示索引影像 image03.m 要正確地顯示索引影像則需要正確的色盤,以上面的小丑影像為例,如果使用亂數產生的色盤則會產生下面的結果: load clown.mat % 載入小丑影像資料,含變數 X 和 map newmap = rand(size(map)); image(X); colormap(newmap)

IMAGESC(...) IMAGESC Scale data and display as image. IMAGESC(...) is the same as IMAGE(...) except the data is scaled to use the full colormap.

顯示索引影像 如果色盤矩陣只有 K 個橫列,但是 X 的某些元素值小於 1 或大於 K,則可以使用imagesc指令將 X 的最小值轉換成 1,最大值轉成 K,其他中間值則依線性關係轉換成介於 1 與 K 的值。 imagesc01.m %sc 代表 scaled X = peaks; imagesc(X); colormap(gray); min(min(X)) % 顯示 X 的最小值 max(max(X)) % 顯示 X 的最大值

顯示索引影像 ans = -6.5466 8.0752 具有上述特性的影像資料稱為強度影像(Intensity Images),一般經由數值運算產生的矩陣均屬此類,因此均可由 imagesc 來顯示。

顯示索引影像 image 指令亦接受全彩影像(Truecolor Images) 全彩影像可以表示成一個 m×n×3 的矩陣 X,其中 X (:, :, 1) 代表紅色的強度。X (:, :, 2) 代表綠色的強度,X (:, :, 3) 則代表藍色的強度。 X的值的範圍可以是下列兩種:介於0~1的浮點數或是0~255的uint8。

image04.m X = imread('annie.jpg'); image(X); Y=size(X); text(10,-10,[num2str(Y(1)),' x ',num2str(Y(2)),' x ',num2str(Y(3))])

影像的顯示與列印 MATLAB 在顯示影像時,會將之置於預設的圖軸之中,並以此圖軸的長寬比來成像,因而造成影像的失真。若要以影像本身的長寬比來成像,可加入 axis image,如下: image05.m load mandrill.mat image(X); colormap(map); axis image

將影像對應到螢幕上的點 若要使影像資料的每一點對應至螢幕上的一個像素(Pixel),可輸入如下: image06.m load mandrill.mat [m, n] = size(X); figure ('unit', 'pixel', 'position', [200, 200, n, m]); image(X); colormap(map); set(gca, 'position', [0, 0, 1, 1]);

將影像對應到螢幕上的點 此範例產生圖形如同前一個範例,如果你的螢幕解析度較低,圖形會變大。 上述範例程式碼中, figure 的 ‘position’ 性質為 [200, 200, n, m],代表視窗的左下角位置是 [200, 200](以 pixel 為單位),而視窗的寬度為 n,高度為 m,正好可以符合影像的大小。 gca 傳回使用中的圖軸,最後一個敘述將圖軸的位置設為整個視窗的大小,使用了正規化的單位 。

影像的顯示與列印 在列印影像時,MATLAB 會根據視窗的 Paper position 性質來調整圖形的長寬比,使得印出的影像再度變形。欲防止情況,可用下列指令: >>set(gcf, 'PaperPositionMode', 'auto') 若要使 Paper Position Mode 的預設值就是“auto”,可在 startup.m 檔案中加入下一行: set(0, 'DefaultFigurePaperPositionMode', 'auto')

8-bit影像 在 MATLAB 第 5 版之後,提供了 uint8 的資料型態。

8-bit 影像 範例 由於 8-bit 影像資料的最小值為 0,和一般的雙精準索引影像資料相差 1,因此在兩種資料相互轉換時,要特別小心。 uint801.m load clown.mat Z8 = uint8(X-1); % 將 X-1 轉成 uint8 的資料型態 close all % 關掉所有的圖形視窗 image(Z8) colormap(map)

8-bit影像 若要將 8-bit 影像轉回雙精準影像,可輸入: >> Z64 = double(Z8)+1; uint8 資料型態亦可用於全彩影像資料,此時每一像素的原色(R,G 或 B)範圍為 0 至 255 間的整數,而不再是 0 至 1 的實數。

8-bit影像 欲將雙精準的全彩影像轉作 uint8 資料型態,可輸入如下: >> RGB8 = uint8(round(RGB64*255)); 其中 RGB64 為雙精準的全彩影像資料,而 RGB8 則是 unit8 的 8-bit 影像資料。反之,若欲進行反轉換,可輸入如下: >> RGB64 = double(RGB8)/255;

影像類別及型態關係表 資料型態 影像類別 雙精準(Double) uint8 索引影像 (Indexed Images) 影像矩陣大小:m×n 影像資料範圍:介於 [1, k] 的整數 影像資料範圍:介於 [0, k-1] 的整數 色盤矩陣大小:k×3 色盤資料範圍:介於 [0, 1] 的實數 影像顯示指令:image (註:k 的值不大於 256) 強度影像 (Intensity Images) 影像矩陣大小: m×n 影像資料範圍: 任意實數(但通常是[0,1]) 影像資料範圍:介於 [0, 255] 的整數 影像顯示指令:imagesc (色盤通常是灰階) 全彩影像 (Truecolor Images) 影像矩陣大小: m×n×3 影像資料範圍:介於 [0,1] 的實數

影像檔案的讀取/寫入與支援的格式 imread /imwrite 可用於讀取/寫入影像檔案。 影像檔案格式 副檔名 相關字串 微軟視窗的 Bitmap bmp ‘bmp’ 階層式資料格式 (Hierarchical Data Format) hdf ‘hdf’ Joint Photographic Expert Group jpg 或 jpge ‘jpg’ 或 ‘jpge’ 微軟視窗的 Paintbrush pcx ‘pcx’ 可攜式網路圖形 (Portable Network Graphics) png ‘png’ 標記式影像檔案格式 (Tagged Image File Format) tiff ‘tif’ 或 ‘tiff’ X視窗傾印 (X Windows Dump) xwd ‘xwd’ 圖形交換格式 (Graphic Interchange Format) (第六版才支援) gif ‘gif’

影像檔案的讀取 imread 指令可以讀取上述格式的影像檔案,並進行必要之轉換,如下: 對於強度影像,imread 將資料以 uint8 的矩陣(大小為 m×n)傳回。 對於索引影像,imread 將資料以 uint8 的矩陣(大小為 m×n)傳回,並同時傳回一個雙精準的色盤矩陣,其每個元素值介於[0,1]。 對於全彩矩陣,imread 將資料以 uint8 的矩陣(大小為 m×n×3)傳回。

使用imread讀取全彩jpg影像 uint802.m % uint802 fname='simulinkteam.jpg' X = imread(fname); figure, subplot(2,2,1);image(X); subplot(2,2,2);image(X(:,:,1));xlabel('X(:,:,1)'); subplot(2,2,3);image(X(:,:,2));xlabel('X(:,:,2)'); subplot(2,2,4);image(X(:,:,3));xlabel('X(:,:,3)'); info = imfinfo(fname)

影像檔案的資訊內容 imfinfo 指令可用於傳回影像檔案的各項資訊,例如: >> info = imfinfo('simulinkteam.jpg') 對於不同的檔案格式,imfinfo 傳回的資訊項目可能有所不同。

影像檔案寫入 imwrite 指令可將資料寫成影像檔 imwrite01.m 最後一列會呼叫 Windows 作業系統下的應用程式來開啟 myClown.jpg 檔案。 % imwrite01.m load clown.mat imwrite(X, map, 'myClown.jpg'); imfinfo('myClown.jpg') !start myClown.jpg

補充教材 --影像處理的技術 基本技術 常見的影像處理 灰階處理 色階分佈 目標區域的選取 範例程式的介紹

影像處理的基本技術 型態 Morphology 色層 Color map 紋理 Texture

常見的影像處理 影像獲取 (image acquisition) 影像加強 (image enhancement) 影像復原 (image restoration) 色彩影像處理(color image processing) 小波(wavelet) 壓縮(compression) 型態上的處理(morphological processing) 分割 (segmentation) 表示與描述 (representation and description) 辨識 (recognition) 資料庫 knowledge

全彩影像轉換  256灰階影像, 指令rgb2gray 黑白影像,二值化影像, 指令im2bw imggray01.m % True Color image converts to gray level image and black-white image A=imread('annietest.bmp'); % Read true color image B=rgb2gray(A); % True color converts to 256 gray levels (8-bits) C=im2bw(B,0.5); % Gray level image converts to 1-bit black and white image with 0.5 intensity threshold imwrite(B,‘anngray.jpg’); % Save gray level file imwrite(C,'anniebw.bmp'); % Save black-white image figure, subplot(1,3,1);imshow(A);xlabel('true color');hold on; subplot(1,3,2);imshow(B);xlabel('gray level');hold on; subplot(1,3,3);imshow(C);xlabel('black-white');hold off;

imggray01.m 輸出結果

imggray02.m % True Color image converts to gray level image and black-white image A=imread('annietest.bmp'); % Read true color image B=rgb2gray(A); % True color converts to 256 gray levels (8-bits) figure, for i=9:-1:1; C=im2bw(B,i*0.1); subplot(3,4,i);imshow(C); xlabel(['threshold ', num2str(i*0.1)]); hold on; end subplot(3,4,10); imshow(B); xlabel('gray level'); hold on; subplot(3,4,11);imshow(A); xlabel('True color'); hold off

imggray02.m 輸出結果

imggray03.m 觀看影像,使用指令imview() I = imread('board.tif'); J = rgb2gray(I); imview(I), imview(J); [X,map] = imread('trees.tif'); gmap = rgb2gray(map); imview(X,map), imview(X,gmap);

imggray04.m 影像均勻化,使用指令histeq() [X,map] = imread('trees.tif'); imview(X,map), imview(histeq(X)); I = imread('tire.tif'); J = histeq(I); imview(I), imview(J) I = imread('cameraman.tif'); imview(I); imview(histeq(I)); h = imview(I,[0 80]); %close(h) %Imview close all

色階分佈(Histogram) 觀看色階 儲存色階數值 不同色層 使用指令imhist(A) 使用指令[count,X]=imhist(A)

imggray05.m function imggray05 [X,map] = imread('annietest.bmp'); R=X(:,:,1); G=X(:,:,2); B=X(:,:,3); imview(X); imview(R); imview(G); imview(B);

Imgerode01.m 影像侵蝕Erode 影像膨脹Dilate imerode(A,N) imdilate(A,N) clear all;close all;clc; %cir=imread('cir.jpg'); cir=imread('annie.bmp'); figure, subplot(2,2,1);imshow(cir);xlabel('original');hold on; cir=im2bw(cir,.5);% 將cir圖檔二值化 subplot(2,2,2); imshow(cir);xlabel('bw (binary)');hold on; N=1; N=ones(abs(N)); cir=imdilate(cir,N); % imdilate 膨脹 subplot(2,2,3); imshow(cir);xlabel('dilate');hold on; N=-1; N=ones(abs(N)); cir=imerode(cir,N); % imerode 侵蝕 subplot(2,2,4); imshow(cir);xlabel('erode');hold off;

B = IMRESIZE(A, M, METHOD) Imgresize01.m IMRESIZE Resize image. IMRESIZE resizes an image of any type using the specified interpolation method. Supported interpolation methods include: ‘nearest’ (default) nearest neighbor interpolation 'bilinear' bilinear interpolation 'bicubic' bicubic interpolation B = IMRESIZE(A, M, METHOD) A, B 為影像 M>1 放大,<1 縮小

imgresize01.m % imgresize01.m clear all;close all;clc; %cir1=imread('cir.jpg'); cir1=imread('annie.bmp'); resize=0.5; cir2=imresize(cir1,resize); figure,imshow(cir1) figure,imshow(cir2) 目標區域影像 縮小成1/4影像

imaoi.m clear all;close all;clc; image01=imread('media.tif'); %影像讀取 image01=rgb2gray(image01);%影像灰階化 image01=imcircle(image01,-70,0.15);% 選取圓形區域影像 imk3=['media_B.tif']; imwrite(uint8(image01),imk3);% 儲存選取圓形區域影像

Subprogram: imcircle.m % 對侵蝕或膨脹後的圓形圖檔作找出左上角及右下角座標 cir=imselect_bw(double(cir)); % 對侵蝕或膨脹後的培養基圖檔作找出左上角及右下角座標, tt 為二值化臨界值[0,1] image=imselect(image,tt); imwrite(uint8(image),’step1.tif','tif') %判斷培養基影像是否大於範本影像 [Cy,Cx]=size(image); im=zeros(Cy,Cx); [cirY,cirX]=size(cir); if (Cy<cirY) | (Cx<cirX) disp('※警告:影像過大,請更正!') End function select_c=imcircle(image,N,tt); % 將一圓形圖二值化→再膨脹或侵蝕, % 再選擇圓之大小的區域。 % Cir 為圓形範本圖檔 cir=imread('cir.jpg'); cir=im2bw(cir,.5);% 將cir圖檔二值化 % 對圓形範本做侵蝕或膨脹 % Note:imerode =>侵蝕 % Note:imdilate =>膨脹 if N>0 N=ones(abs(N)); cir=imdilate(cir,N); elseif N<0 cir=imerode(cir,N); else disp(' 警告:N 為"0"時會產生影像錯誤。'); End

imcircle.m % 調整切割位置大小 X=fix((Cx-cirX)/2); Y=fix((Cy-cirY)/2); im(Y:(Y+cirY-1),X:(X+cirX-1))=cir; % image001=ones(Cy,Cx); for nnn=1:Cy for nnnn=1:Cx if im(nnn,nnnn)==0 image001(nnn,nnnn)=0; end image000=image.*image001; figure,imshow(uint8(image000)); title('被邊緣去除之部份'); imwrite(uint8(image000),’step2.tif','tif') % A=image.*im; A=imselect(A,tt); select_c=A; figure,imshow(uint8(A)); title('區域分割之部份影像'); imwrite(uint8(A),’step3.tif','tif')

Step1.tif Step2.tif Step3.tif

Subprogram: imselect.m function select_im=imselect(image,t); % k=size(image); % ┐ k=size(k); % │ if k(2)==3 % │判斷是否為彩色影像(X,Y,3)。 image=rgb2gray(image); % │ end % ┘ imbw=im2bw(image,t); [h,w]=size(imbw); label1=zeros(6,2); % 用來記錄影像之四個原點座標之矩陣。 未完

Subprogram: imselect_bw.m function select_bw=imselect_bw(image); k=size(image); % ┐ k=size(k); % │ if k(2)==3 % │判斷是否為彩色影像(X,Y,3)。 image=rgb2gray(image); % │ end % ┘ imbw=im2bw(image,.5); [h,w]=size(imbw); label1=zeros(6,2); % 用來記錄影像之四個原點座標之矩陣。 % 尋找左端點 for i=1:h for j=1:w if imbw(i,j)==1 label1(1,1:2)=[i j]; break; end if imbw(i,j)==1, break; End 未完

補充教材 --紋理分析 紋理分析Texture Analysis 基本技術 SGLDM灰階值共生矩陣 紋理公式

紋理分析的基本技術 應用影像元素的灰階值與空間相對位置進行統計方法的演算與分析, 以了解影像結構內容的方向性(Directionality)、規則度(Regularity)、粗糙度(Roughness)等, 當找出紋理描述子後,即可用來比較不同質地或紋理影像的差異

SGLDM灰階值共生矩陣 Gray level co-concurrence matrix 6 7 8 5 * 1 4 3 2 1 2 3 水平方向 對角方向 垂直方向 4X4 四灰階影像

紋理公式ㄧ 均勻度Uniformity 熵 Entropy 最大機率Maximum probability 對比Contrast 式中Cij 為灰階共生矩陣,指數k、l 值可自行依照影像特性或影像處理所需來決定值之大小,在本研究中設定k與l值為2。

紋理公式二 k階反向差衝量 Inverse difference moment of order k 相關度 Correlation 行長機率 Probability of a run of length 式中σx、σy為P矩陣之x與y方向元素的標準差;μx、μy為P矩陣之x與y方向元素的平均。 其中RP (Run percentages)為P矩陣之元素的機率分佈,NG為共生矩陣之行向量維度,NR為共生矩陣之列向量維度。

紋理公式三 同質度 Homogeneity 群聚傾向度Cluster tendency

Imtexture.m function output=imtexture(image01,K,L) % k=K; % k 階(可自行依影像處理方法調整) l=L; % l 值(可自行依影像處理方法調整) [H,W]=size(image01); % 判斷影像之解析度 W X H k1=0; % 設 k1 為 0 image01=uint8(image01); %for i=1:H % for j=1:W % histg(image01(i,j)+1)=histg(image01(i,j)+1)+1; % 影像之Histgram 數據 % end %end histg=imhist(image01); % 影像之Histgram 數據 未完

補充教材 -- 線性判別 線性判別 Linear Discriminant 概說 線性判別公式 線性判別流程 正確率 MatLab程式介紹

線性判別概說 線性判別分析又稱費雪或費氏線性判別函數(Fisher’s linear discriminant function), 係利用樣本建立群體間的線性判別方程式或稱費氏分類函數,並計算待測樣本與已知群組之馬氏距離(Mahalanobis distance),將其分類到距群組形心最近之群組,以進行未知樣本的歸類 。

觀測值歸類

線性判別的公式 當分類群組僅有兩組時,其線性判別方程式可表示為 分別為群1及群2的樣本平均值 式中n1、n2分別為群1及群2的樣本數

線性判別的公式(續) 共同變方矩陣之計算公式可表示 式中S1、S2分別為群1及群2樣本平方和矩陣

線性判別的公式(續) 當要判別一未知個體X0位於那群資料時,首先利用下二式定出群1及群2資料之平均值中心點位置: 再計算未知樣本與兩群體中心點之馬氏距離

線性判別的公式(續) 則X0屬於群1 則X0屬於群2

線性判別的流程 計算特徵值 計算未知樣本馬氏距離 計算各群樣本平均值 作歸類 計算樣本共同變方矩陣

正確率 在300個試驗樣本中,隨機選取200個樣本(有污染及無污染各100個樣本),作為校正組,以建立判別方程式,另外的100樣本(有污染及無污染各50個樣本)則作為測試組,以評判污染判別正確率。 Nc為測試樣本污染判別正確之數目,N0為所有測試樣本之數目(在此N0=100)

Discriminant.m kk1=[1 2 3 4 4 5 6 2 2 3 4 5 5 6;7 8 8 8 10 10 10 7 9 9 9 9 11 6];%群1訓練樣本 kk2=[5 6 6 7 8 8 9 5 6 7 7 8 9 10;4 4 6 5 5 7 8 8 5 4 6 6 7 8];%群2訓練樣本 kk3=[1 2 3 4 4 5 6 2 2 3 4 5 5 6 5 6 6 7 8 8 9 5 6 7 7 8 9 10;7 8 8 8 10 10 10 7 9 9 9 9 11 6 4 4 6 5 5 7 8 8 5 4 6 6 7 8];%測試樣本 [reslu,inda,err]=Fisher(kk1,kk2,kk3,14,1); %費雪線性判別副程式

Subprogram: Fisher.m %區別分析副程式 %INPUT:fa為無污染樣本,nofa為有汙染樣本,rg為測試樣本,tn為測試樣本實際無污染數 %OUTPUT:reslu為判別結果,inda為辨識率,err為辨別錯誤數,ii設定判別法則(設定"1"為費氏線性判別;設定"1"為馬氏距離判別) function [reslu,inda,err]=Fisher(fa,nofa,rg,tn,ii) [rh1,rv1]=size(fa); %群1樣本資料(rh1為維度,rv1為訓練樣本數) [rh2,rv2]=size(nofa); %群2樣本資料(rh2為維度,rv2為訓練樣本數) [rh3,rv3]=size(rg); %測試樣本資料(rh3為維度,rv3為訓練樣本數) somma=sum(fa,2);%群1樣本總和 ssn2=somma/rv1;%群1樣本總和除以樣本數 somma2=sum(nofa,2);%群2樣本總和 ssy2=somma2/rv2 ;%群2樣本總和除以樣本數 mface=ssn2';%群1平均值 mno=ssy2';%群2平均值 xx1=fa;%群1原始資料 xx2=nofa;%群2原始資料 ss1=0; ss2=0; %c1=cov(xx1') %c2=cov(xx2‘) 未完

Discriminant.m 執行結果 第 1個樣本的判定係數為14.83361 第 2個樣本的判定係數為14.85569 …………….. 第27個樣本的判定係數為-4.738 第28個樣本的判定係數為-4.71638 費氏判別錯誤數為2,無污染錯誤數1,有污染錯誤數1,辨識率為92.86 混合共變異矩陣為 S_pooled = 2.4313 0.9918 0.9918 2.0824 線性判別方程式係數 yy = -2.4465 2.4686 馬氏距離臨界值 cirth = 4.6170

補充教材 -- 應用範例 組織培養培養基生物性污染的檢測 進行從影像擷取、目標區域選取、特徵擷取、及歸類判別等 文章: TissueCulture.pdf 圖集: 圖集.pdf 表集: 表集.pdf