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 日即可在課堂上繳錢領書。