2009年12月25日 星期五

Week 15: 空間濾波器實作(spatial filter Implementation)

本週我們請同學們直接在課堂上撰寫程式:

1. 請同學先執行範例程式 IPC-2009F-SP07.txt

2. 請同學將範例程式改成既可以處理彩色影像, 也可以處理灰階影像的程式:

3. 請同學將範例程式改成既可以由使用者輸入 filter 的功能。


作業6 :
完成 空間濾波器 (spatial filtering) 程式實作。
    程式必須能夠自動判斷影像模式, 由使用者輸入依照需求輸入不同的 filters。

2009年12月12日 星期六

Week 14: 空間濾波的基本原理

§ 3-4 的內容主要是在討論空間濾波器(spatial filter)在影像增強方面的應用。

在講解完空間濾波的基本原理之後, 我們直接在課堂上撰寫下面的範例程式:

 灰階影像之 3*3 空間濾波器之模型: IPC-2009F-SP07.txt

範例程式: 直方圖均化 (Histogram Equalization)

直方圖均化(Histogram Equalization)範例程式: IPC-2009F-SP06.txt

灰階影像之實驗結果:



課本圖 3.20(a), 這張影像的就是課本圖 3.16, 圖片不但偏暗, 而且對比度很低。



執行直方圖均化程式後的結果, 對比度增強了。



課本圖 3.20(b), 這張影像的就是課本圖 3.16, 圖片偏亮, 但對比度也很低。



執行直方圖均化程式後的結果, 對比度增強了。

2009年12月11日 星期五

範例程式: 直方圖統計

直方圖統計(Histogram)範例程式: IPC-2009F-SP05.txt

實驗結果:

From Image Processing Class

原圖 WaterLily.bmp (512*512)


直方圖統計

Week 13: 直方圖範例程式講解

1. 直方圖範例程式講解

2. 指紋辨識系統體驗

3. 注意:
 請於下星期四之前完成本課程的作業 1~3
 缺交的同學, 將不再提供補交機會,
 請把握學習時機!

2009年12月10日 星期四

Week 12: 直方圖均化

本週課程討論的主題是直方圖均化的原理與程式實作。

2009年12月1日 星期二

範例程式: 對比度擴展(Contrast Stretching)

對比度擴展(Contrast Stretching)範例程式: IPC-2009F-SP04.txt



課本圖 3.10 (b) 低對比度影像



範例程式執行結果: 對比自動增強了 !
圖 3.10 (c)

範例程式執行結果: 彩色影像的實驗,



此低對比度影像是利用 Photoshop CS 調出來的!



經過範例程式的自動計算與處理, 恢復成高對比度的影像!

2009年11月30日 星期一

範例程式: 影像旋轉

影像旋轉範例程式 IPC-2009F-SP02.txt

範例程式執行結果: 逆時針旋轉 30 度



範例程式: 負片

負片範例程式 IPC-2009F-SP01.txt

範例程式中, 用了一個新的 Property, TBitmap::ScanLine, 在 C++ Builder 的影像元件 TImage 中, 包含了一個 TPicture 的元件, TPicture 又包含了一個 TBitmap 的元件, TBitmap::ScanLine 這個 Property 則是存放了每一行影像色彩存放在電腦記憶體中的起始位置, 因此, 有了這個記憶體位置, 就可以對影像內容進行存取(修改/讀取)。

另外, 這個程式不只可以處理彩色影像, 灰階影像也可以自動分辨與處理, 但必須要新增一個灰階調色盤, ..

灰階影像的實驗結果





彩色影像的實驗結果




 

範例程式: 彩色影像轉成灰階影像

   IPC-2009F-SP03.txt

實驗結果:



2009年11月29日 星期日

Note: 本學期作業一覽表

在同學的期中課程檢討報告中, 有同學提到不知道哪些程式是作業, 要繳交到 作業分享部落格 ? 哪些只是課堂上的程式練習, 不需繳交到課程部落格? 因此, 我特地將本學期到目前為止的作業一覽表公告出來, 請同學盡快繳交作業。

作業1 : 開啟並讀取一張影像到二維陣列中。
    公告於 Week 02

作業2 : 影像旋轉。
    公告於 Week 04

作業3 : 請完成類似 Photoshop 或 PhotoImpact 的 Histogram 顯示功能。
    公告於 Week 07

作業4 : 完成乘冪律 (Gamma) 轉換程式實作。
    公告於 Week 09

作業5 : 完成位元平面 (bit-planes) 程式實作。
    公告於 Week 11

作業6 : 完成空間濾波器 (spatial filtering) 程式實作。
    公告於 Week 15

作業7 : 完成Sobel 運算子實作 (Sobel Operator Implementation)
    公告於 Week 17

作業8 : 期末心得與檢討報告 ( 可加總分 1~3 分 )
    公告於 Week 17
 

想要知道課程部落格的最新狀況, 除了訂閱本課程部落格之外, 也可以使用 blogger 的追蹤功能, 除此, Follow 我的噗浪 也是一種方式啦!
 

2009年11月27日 星期五

Week 11: 逐段線性轉換函數



Homework 5: 完成位元平面 (bit-planes) 程式實作。

PS1: 負片範例程式 已經上網...

2009年11月13日 星期五

Week 09: 乘冪律(Gamma)轉換程式實作

§ 3.2.3 乘冪律(Gamma)轉換  課本 P. 107

  s = c * r ^ γ        ( 3.2-3 )
 


圖 3.8 (a) 人類破碎脊椎的磁共振影像;



圖 3.8 (b) 執行 (3.2-3) 式轉換後的結果; γ = 0.6



圖 3.8 (c) 執行 (3.2-3) 式轉換後的結果; γ = 0.4



圖 3.8 (d) 執行 (3.2-3) 式轉換後的結果; γ = 0.3 



圖 3.9 (a) 空照影像;



圖 3.9 (b) 執行 (3.2-3) 式轉換後的結果; γ = 3.0



圖 3.9 (c) 執行 (3.2-3) 式轉換後的結果; γ = 4.0




圖 3.9 (d) 執行 (3.2-3) 式轉換後的結果; γ = 5.0


彩色影像的實驗結果:



原始彩色圖



 γ = 0.3 



 γ = 2.0 

 
Homework 4: 完成乘冪律(Gamma)轉換程式實作。
 

2009年10月30日 星期五

Week 07: 簡介用於數位影像處理的數學工具

本週我們要討論的主題是 § 2-6 簡介用於數位影像處理的數學工具, 這些數學工具真的很好用, 我們下學期的 互動視訊遊戲製作 這門課, 就會用到這些工具來撰寫程式。



第三個作業: 請完成類似 Photoshop 或 PhotoImpact 的 Histogram 顯示功能。
 

 

2009年10月23日 星期五

Week 06: 像素間的基本關係

本週我們要討論的主題是 § 2-5 像素間的基本關係, 這節所談論到的基本定義, 應用非常廣泛, 例如: 影像處理軟體 Photoshop, PhotoImpact 中的魔術棒選取工具, 就是用到這些觀念!


 
甚至, 我們下學期要開的互動視訊遊戲製作, 也會用到 connected component 的觀念!
 

 

 

2009年10月16日 星期五

Week 05: 影像如何旋轉? (2)

1. 兩角和與差的三角函数公式

 sin(θ1+θ2) = sinθ1 cosθ2 + cosθ1 sinθ2
 sin(θ1-θ2) = sinθ1 cosθ2 - cosθ1 sinθ2
 cos(θ1+θ2) = cosθ1 cosθ2 - sinθ1 sinθ2
 cos(θ1-θ2) = cosθ1 cosθ2 + sinθ1 sinθ2

 要推導出旋轉座標轉換公式, 必須用到上述的公式。

2. 影像旋轉演算法
 輸入: 原始影像 imOriginal[][]
 輸出: 旋轉後影像 imRotation[][]

 a. 根據原始影像的大小(高與寬), 計算旋轉後影像的大小。
  以對角線長度當作旋轉後影像之大小。
  int iImageHeight; //原始影像的高
  int iImageWidth; //原始影像的寬
  int iImageDiagonal; //原始影像的對角長度, 旋轉後影像的高與寬
  iImageDiagonal = ceil(sqrt(iImageHeight*iImageHeight+iImageWidth+iImageWidth));

 b. 動態宣告大小為 iImageDiagonal * iImageDiagonal 的二維陣列
 
 c. 計算兩張影像的旋轉中心之座標
  int iOriginalCenterI,iOriginalCenterJ;
  int iRotationalCenterI,iRotationalCenterJ;

  iOriginalCenterI = iImageHeight / 2;
  iOriginalCenterJ = iImageWidth / 2;

 d. 針對旋轉後影像的每一個像素的座標, 分別計算原始影像的對應像素之座標
  int iNewI, iNewsJ; //旋轉後影像, 像素 (i, j) 相對於旋轉中心的座標
  iNewJ = j - iNewOriginX;
  iNewI = i - iNewOriginY;
  
  // 使用旋轉公式, 計算出旋轉前的相對座標
  iOldJ = iNewI * dCosAngle - iNewJ * dSinAngle;
  iOldI = iNewI * dSinAngle + iNewJ * dCosAngle;

  // 還原出影像陣列的座標
  iOldJ = iOldJ + iOldOriginY;
  iOldI = iOldI + iOldOriginX;
 
  // 開始搬移影像內容 
  ucRotationalMatrixR[i][j] = ucMatrixR[iOldI][iOldJ];
  ucRotationalMatrixG[i][j] = ucMatrixG[iOldI][iOldJ];
  ucRotationalMatrixB[i][j] = ucMatrixB[iOldI][iOldJ];
 

2009年10月9日 星期五

Week 04: 影像如何旋轉? (1)



課堂討論主題:
1. 影像旋轉的演算法
 a. 什麼是演算法?
 b. 要解決的問題是什麼?
 c. 影像旋轉演算法的輸入是什麼?
 d. 影像旋轉演算法的輸出是什麼?
 e. 維基百科上的 旋轉 條目
 
本課程第二個作業: 影像旋轉

2009年10月2日 星期五

Week 03: Digital = Sampling + Quantization

課堂討論主題:
 § 2-4: 影像的取樣和量化

2009年9月28日 星期一

Week 02: 如何開啟並讀取一張影像?

1. 本週的程式示範是如何開啟一張影像?

2. 如果同學從來沒有使用過 C++ Builder, 請務必準備一本 C++ Builder 的相關使用手冊, 這樣會對你撰寫本課程作業有很大的助益。我們推薦的是:

More about C++ Builder 6完全攻略

3. 本課程第一個作業是: 開啟並讀取一張影像到二維陣列中。

 作業參考網頁
 林詣棋學長的優良作業

注意: 如果是一張彩色影像, 那每個像素就會有紅, 綠, 藍三個顏色的資料。在這個資料中, 用 0 ~ 255 值(unsigned char) 來告訴你紅色的成分有多紅, 綠色的成分有多綠, 藍色的成分有多藍。因此, 你勢必要動態宣告三個二維陣列來儲存這些色彩資料。

4. 本週課本指定閱讀範圍:
 從第一章起到第二章第三節 (pp. 1 - 49)
 

2009年9月18日 星期五

Week 01: 本課程的評分原則

1. 本課程 98 學年度的評分原則如下:

 a. 影像處理程式作業共 7 次 ( 70% )

 b. 學習態度 ( 30% )

  點名未到者(包含遲到者), 一次扣 1 分, 以 10 分為限。
  上課睡覺 or 玩電玩 (電腦遊戲, 掌上遊戲機, 手機遊戲) 一次扣一分。
  上課學習認真, 互動良好者, 一次加 1 分, 以 20 分為限。
  所以原則上, 每位同學目前有 10 分的基本分。

2. 作業繳交部落格 Homework Show @ IPC

 請修課同學在本篇文章中, 留下學號與 email , 我會發共同作者的邀請信給你, 讓你有權限可以在作業部落格繳交作業。

3. 教科書: 數位影像處理

4. 指紋影像處理論文

5. 本週之程式練習題

 a. 如何撰寫影像色彩 RGB 的 直方圖

  

 b. 如何找到一張影像中最亮的一點
 
6. 下課上課時請攜帶下列物品:

 a. 教科書 or 費用

 b. 自己指紋的 bmp 檔 ( 高寬各約512 )

 c. 指紋影像處理之論文

 

2009年9月14日 星期一

教科書: 數位影像處理

這是 98 學年度上學期的影像處理選修課的教科書!



原著: Rafael C. Gonzales, Richard E. Woods
譯者: 繆紹綱 教授 (中原大學電子系)

ISBN: 978-986-6534-10-2 (aNobii)
出版: 台灣培生教育出版股份有限公司
發行: 普林斯頓國際有限公司
代理: 高立圖書有限公司
聯絡電話: (02)2290-0318 分機 235 蔡小姐
定價: 880 元 (團購價: 740 元)

本書特色:
♦ 空間域與頻率域影像處理的全新探討方式。
♦ 新增模糊集合及其在影像處理應用的討論。
♦ 新增電腦斷層掃描的章節。
♦ 小波轉換章節的重大修訂。
♦ 資料壓縮章節的全新改版,包括新的壓縮技術、數位視訊壓縮標準以及浮水印。
♦ 形態學影像處理的更深入討論。
♦ 新加入的邊緣檢測方法,包括 Marr-Hildreth 演算法和 Canny 演算法。
♦ 加入超過 400 張新影像、超過 200 個線狀圖和表格以及 80 個以上的新習題。
♦ 對於複雜的處理程序,以逐步的演算法形式整理出。


第一章 緒論
第二章 數位影像基礎
第三章 強度轉換與空間濾波
第四章 頻率域上的濾波
第五章 影像復原與重建
第六章 彩色影像處理
第七章 小波和多解析度處理
第八章 影像壓縮
第九章 形態學影像處理
第十章 影像分割
第十一章 表示與描述
第十二章 物體辨識
影像壓縮用的編碼表
參考文獻
英中文索引

請要參與團購的修課同學, 留下學號, 姓名, 9/25 日即可在課堂上繳錢領書。
 

2009年1月9日 星期五

Note: 成績已經繳交送出

請同學自己上學生系統查詢, 即可...

祝 同學 假期愉快!

2009年1月8日 星期四

Note: 總成績大原則確立

這幾天思考了很久, 剛剛終於確認總成績處理的大原則: 成績倒數 5 位同學不及格。

 潘怡妌, 潘文凡, 吳俊德, 許智凱, 向冠林。

 三年級不及格同學中, 剛好甲班 2 位, 乙班 2 位。

 總修課同學 57 人, 不及格者 5 人, 占 8.8 %
 
系核心能力意見調查, 目前不到修課人數一半參與, 請盡快投票...

2009年1月2日 星期五

News: 指紋膠帶貼手 韓女成功闖日

指紋辨識是影像處理研究領域的老題目了, 在我還在當研究生的年代中, 實驗室的研究主題之一就是指紋辨識...
指紋膠帶貼手 韓女成功闖日

原始新聞連結
( 自由時報 2009/01/02 編譯鄭曉蘭 綜合報導 )

日本耗資數十億日圓的入境辨識系統,不敵一片小小的特製膠布!

一名南韓女子在掮客協助下,傳出利用特製膠布假造指紋,順利從日本青森機場入境,數月後才被相關單位查獲,驅逐出境。女子供稱還有多名南韓人以相同手法入境,日方正全力追查。

日本「讀賣新聞」一日以頭版頭條報導,1 名 51 歲南韓女子於 2007 年 7 月因違法居留被日方驅逐出境,去年 4 月卻持假護照,並且利用特製膠布偽造指紋,成功騙過青森機場的入境審查系統後入境,直到同年 8 月才在東京某公寓被逮,訊後被遣送回南韓。

調查指出,女子在南韓聽從掮客指示,購買飛往青森的機票,掮客還給她特製膠布,教她入境按指紋前將膠布貼在指頭上。日本入境管理局實驗證實,指頭上若貼市售膠帶按指紋,辨識系統會顯示「錯誤」訊息,故偽造指紋用的應為特製膠帶。

目前人在南韓的該名女子,接受媒體訪問時表示:「特製膠帶呈現膚色,觸感類似橡膠,上頭印有指紋圖樣。」她說,當初付出約台幣 47 萬元的代價給掮客。該掮客透露,已協助多名南韓人違法入境日本,選擇青森機場是因為小機場的審查較為鬆散。

為強化反恐對策,日本耗資 40 億日圓以上(約台幣 14 億 5000 萬元以上),自 2007 年 11 月開始實施外籍人士入境指紋以及面孔辨識系統。日本也成為繼美國之後,全球第二個實施指紋以及面孔入境審查制度的國家。

過去一年來,約有 936 萬名外籍入境旅客接受這項審查,其中有 846 人被日本拒絕入境。

國內鑑識專家: 理論可行

原始新聞連結
〔自由時報 2009/01/02 記者黃敦硯、蘇宇暉 台北報導〕

國內鑑識專家程曉桂表示,從未聽過可偽造指紋的特殊膠布,她推測很可能是先用凝膠或蠟做出指紋模型,再貼在膠布上,利用光學活體掃描感應紋路的特性騙過機器。她研判,有可能是移民官未注意到偷渡者在指紋上動手腳,讓其闖關成功。

據了解,指紋的形成,是因手指指腹有汗腺分布,會分泌汗液,當手摸到東西時,便留下指紋,鑑識人員可以經由化學方式讓指紋現形,在國外電影中仿造他人指紋的劇情,現實生活並不常見,但理論上是有可能做到的。

程曉桂猜測,韓籍女子躲避指紋檢查的方式,可能是類似夜市攤販利用蠟製作人手的原理,以凝膠或蠟等材料,在膠帶上製作指紋,再貼在偷渡者手指,藉以躲避機場指紋活體掃描機檢查。

目前的指紋辨識,主要透過指紋機採集指紋的「節點」,即紋路上的分岔、終止或打圈處的座標位置,然後利用辨識軟體比對指紋的特徵資訊,以確定指紋擁有者的身分,但一般的指紋機不會做太多偵測,所以有心人還是有可能用造假的手法通過辨識。

Note: 請檢查平時成績登記是否有誤?

平時成績與自評分數已經登記完成了,
目前老師評分10%的分數尚未填入,
請同學檢查平時成績的登記是否有誤!
成績登記有錯誤的同學,
請馬上在此文章上回應告訴我!

注意: 缺交作業的該次成績以 0 分計算!

成績 PDF 檔下載

基本上, 請 ( 互評 + 自評 > 50 ) 的同學不用擔心, 一定會及格!
系核心能力意見調查, 目前不到修課人數一半參與, 請盡快投票...

2009年1月1日 星期四

Note: 成績計算方式小更改

由於同學的埋怨, 因此平時成績計算方式作以下小幅更改:

缺交作業的該次成績會以 0 分計算!

A 100

B 70

C 30

缺交 0 分