2010年12月31日 星期五

Week 16: 平滑與銳化空間濾波器

§ 3-5 平滑空間濾波器

 1. 平滑線性濾波器

 


 2. 排序統計(非線性)濾波器

 

§ 3-6 銳化空間濾波器

 1. 基礎: 一階導數與二階導數
 2. 二階導數在影像銳化上的使用 - 拉普拉斯
 3. 銳化遮罩以及高增幅濾波

2010年12月24日 星期五

Week 15: 濾鏡處理 filtering

1. 摺積 (convolution): Joy of Convolution

2. 影像處理的濾鏡處理, 其原理本身就是摺積運算的二維情況!

 範例程式: DIP2010-SP-Filtering

作業三: 3D 立體影像創作

 本次作業分成以下三部分:

 1. 用數位相機分別拍攝左眼影像與右眼影像

 2. 用 C++ Builder 將上述兩張影像創作出一張紅藍濾鏡的 3D 立體影像。

 3. 討論 3D 影像創作之效果

作業四: 濾鏡處理程式

 用 C++ Builder 撰寫一個 3*3 的濾鏡處理程式, 功能包括:

 1. 平滑化 (smoothing)。

 2. 銳利化 (sharping)

 3. 中位數濾鏡處理 (medium filtering), 去除胡椒鹽雜訊。




2010年12月17日 星期五

Week 14: 程式實作: 直方圖均化處理 (hishogram equalization)

1. 本週課程進度為程式實作課程, 主題是: 直方圖均化處理。
 請同學在課堂上撰寫程式, 將一張拍攝對比不是很好的影像做直方圖均化處理。

直方圖均化處理前影像:



直方圖均化處理後影像:


 
作業二: 直方圖顯示與直方圖均化處理

 本次作業分成以下 3 部分:

1. 用 C++ Builder 將一張影像的直方圖與其相關基本訊息顯示出來。

2. 用 C++ Builder 將一張對比不明顯的影像用直方圖均化處理後, 重新顯示出來。

3. 心得與討論
 

2010年12月10日 星期五

Week 13: 3D 立體影像原理講解

1. 課堂 3D 立體影像體驗


在課堂直接體驗 3D 立體影像!


大家公認拍最好的一張立體影像!

2. Sony 3D 異想世界 體驗分享


 
3. 講解直方圖均化處理的演算法。

直方圖均化處理前影像:



直方圖均化處理後影像:

2010年11月29日 星期一

Week 12: 小考

1. 本週第一節課 (9:10) 舉行本學期的第一次小考,
  請同學移至 S413 教室, 請隔排坐, 只坐奇數排應考。



  

  

  

  

  

  

2. 本週第二節課 (10:10) 請同學回教室撰寫關於本課程的建議與回饋。

3. Sony 3D 異想世界



4. Microsoft Kinect

 

 
 
 

 

2010年11月26日 星期五

Week 11: Histogram 直方圖統計

1. 作業一的延伸討論:

Binary Image 演算法與 範例程式 講解

2. Region Growing 演算法與 範例程式 講解

3. Histogram 直方圖統計 (作業二: Part 1)

From Image Processing Class

2010年11月12日 星期五

Week 9: 數學工具

1. 小考:
  Week 12 (2010/12/03) 9:10 AM
   Chapter 1 - Chapter 2

2. § 2.6 簡介用於數位影像處理的數學工具
 § 2.6.1 陣列矩陣運算
 § 2.6.2 線性對非線性運算
 § 2.6.3 算術運算: 加減乘除
 § 2.6.4 集合與邏輯運算
 § 2.6.5 空間運算

2010年11月8日 星期一

Week 8: 量化程式之實作與討論 (作業一)

作業一:

繳交期限: Week 8 (2010/11/05)

將一張彩色影像轉成灰階影像後, 再對灰階影像進行色彩量化處理, 分別用 128 色, 64 色, 32 色, 16 色, 8 色, 4 色, 2 色(黑白影像) 顯示。

 原圖: 彩色影像

  

 灰階影像: 256 色階
  

 灰階影像: 128 色階

  

 灰階影像: 64 色階

  

 灰階影像: 32 色階

  

 灰階影像: 16 色階

  

 灰階影像: 8 色階

  

 灰階影像: 4 色階

  

 黑白影像(binary image)

  
 
 延伸討論:

 1. 由於同學要求: "希望老師可以指導如何使用內建的物件直接達成PixelFormat:= pf2bit 的方法" , 因此, 我特地將如何直接將一張 PixelFormat = pf24bit 的彩色影像, 直接轉換成一張新的 PixelFormat = pf1bit 的黑白影像的範例程式提供給同學參考。

  範例程式: DIP2010-SP-BinaryImage.c

  

  同學們可以使用滑鼠右鍵, 看影像檔案的基本資訊, 如下圖示,

  

  就會看到這張黑白影像 BinaryModeBird.bmp 的檔案大小是 9.77 KB (10,006 bytes),

  

  而原先的黑白檔案 BinaryBird.bmp, 其實只有顯示出黑白二色, 儲存格式還是 PixelFormat = pf8bit 的灰階影像, 檔案大小是 78.74 KB (80,630 bytes), 如下圖所示。

  
 

Week 7: 數位影像基礎

1. § 2.4 影像的取樣和量化

 數位化(digitalization) = 取樣(sampling) + 量化(quantization)

2. § 2.4.4 影像內插 (interpolation):
 a. 重新取樣 (resampling)
 b. 最近鄰插補 (nearest neighbor interpolation)
 c. 雙線性插補 (bilinear interpolation)
 d. 雙立方插補 (bilinear interpolation)

3. § 2.5 像素間的基本關係
 a. 像素的近鄰:
   4-近鄰 (4-neighbors),
   8-近鄰 (8-neighbors),
 b. 鄰接性(adjacency)
   4-鄰接性 (4-adjacency)
   8-鄰接性 (8-adjacency)
   m-鄰接性 (m-adjacency): 混合鄰接性(mixed adjacency)
 c. 連通性
 d. 區域
 e. 邊界
 f. 距離量測
 

2010年10月22日 星期五

Week 6: 灰階影像

1. TBitmap::PixelFormat





2. Sample Program

  

  

  

3. 作業一: 將一張彩色影像轉成灰階影像後, 再對灰階影像進行色彩量化處理, 分別用 128 色, 64 色, 32 色, 16 色, 8 色, 4 色, 2 色(黑白影像) 顯示。
 繳交期限: Week 8 (2010/11/05)
 

2010年10月15日 星期五

Week 5: 再深入探討影像元件

0. 個別訪談學習進度:
  為了更精確掌握同學的學習進度, 進行個別訪談學習進度。

1. 如何動態新增一個影像元件?

2. Error Message: Scanline index out of range
  imNew->Picture->Bitmap->Height
  imNew->Picture->TBitmap->Width

3. TBitmap::PixelFormat

4. Sample Program

  

  

2010年10月8日 星期五

Week 4: TBitmap::ScanLine

1. ProgressBar

2. TBitmap::ScanLine

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

更新記憶體後的影像元件的外觀顯示, 有可能和記憶體中不相符, 我們可以用 Refresh() 這個 method 來將影像的外觀重新顯示。

  Image1->Refresh();

3. 動態宣告二維陣列

4. 範例程式

2010年10月1日 星期五

BNEXT: Google 發表影像壓縮新技術 取代過時的 JPEG

數位時代網站新聞精選 原始連結
撰文者: 戴佳慧 日期:2010/10/01

一向以完美網頁瀏覽體驗為己任的 Google 再出新招!今天 Google 在 Chromium 官方部落格上發表了一種全新影像格式 WebP,能大幅改善網頁圖檔的傳輸效能。經過 WebP 壓縮的影像,檔案大小比常見的 JPEG、GIF、PNG 格式平均減少了 39%,色調和色彩演繹相較之下也毫不遜色。

Chromium 部落格指出,今日的網頁傳輸有 65% 用在影像和照片下載。在行動網路和頻寬有限的情況下,使用者點開網頁之後,還要耐心等待圖片緩緩展開。為了提供使用者更順暢、更愉快的網頁瀏覽經驗,Google 利用全新壓縮技術 VP8 設計了一套新的影像壓縮格式 WebP,大幅減少圖檔大小,讓網頁下載更迅速。

VP8 原本是由美國上市科技公司 On2 所開發出來的視訊壓縮格式,Google 在今年年初收購了On2,接著在五月開放 VP8 技術原始碼。Google 看出 VP8 技術在圖像失真壓縮上也大有可為,足以取代過時的 JPEG、GIF 格式等早年研發成果,因此將 VP8 稍加改編之後推出了新的 WebP 影像格式。

Google 隨機在網路上找了一百萬張圖片作測試,比較 WebP 和傳統格式的壓縮效能和畫質,並分享了幾中幾張圖片讓網友們參考。Google 網站上也提供了轉換軟體,能夠將各種格式的圖片輕鬆轉換成 WebP 檔,歡迎網友們一同試用比較。

Week 3: Image Opening

本週為 C++ Builder 實作課程, 講解以下的資料形態:
 a. TImage
 b. TCanvas
 c. OpenPictureDialog
   ex: OpenPictureDialog1->Execute();
     OpenPictureDialog1->FileName
 d. SavePictureDialog
 e. TColor
 f. Pixel[][]

範例程式

2010年9月24日 星期五

Week 2: CH 1 緒論

1. [理論課程] CH 1 緒論

2. [實作課程] C++ Builder 程式設計概念

  C++ Builder [ 維基百科, 官網, 台灣總代理興德資訊 ] 是 CodeGear 針對 C++ 程式語言所開發的快速應用程式開發工具 ( Rapid Application Development, RAD ), CodeGear 為 C++ 加入了許多的視覺化元件, 配合整合開發環境 ( Integrated Development Environment, IDE ), 推出了 C++ Builder 這個產品, 加速了一個視窗應用程式的開發。

 (1) applications
 (2) units
 (3) forms
 (4) VCL ( visual component library )
 (5) components, component palette



 (6) objects
 (7) object inspector

   

 (8) properties
 (9) events
 (10) methods
 (11) event-driven programming ( 事件驅動程式設計 )
 

2010年9月17日 星期五

Week1: 課程簡介與評分說明

1. 教科書:
  (理論) 數位影像處理 Digital Image Processing
      原著: Gonzalez, Woods 譯者: 繆紹綱 等
      代理: 高立圖書有限公司

     


  (實作) C++ Builder 6 完全攻略
      作者: Time 研究室
      出版: 上奇圖書有限公司

     

2. 評分原則:
  (理論) 小考 ( 45% )
  (實作) 作業部落格 Homework Show @ DMC 繳交程式作業 ( 45% ) 
  (課堂表現) 出缺席, 上課玩 Game, 睡覺...等 ( 10% )

3. 點名簽到: 每週第一堂課就會發 簽名單 給同學簽到。

2010年1月19日 星期二

Note: 成績公告

目前作業成績, 平時成績已經計算完畢 !

平時成績分成兩部分:

1. 出缺席 or 遲到: 滿分 10 分。
 遲到 or 缺席者每週扣 1 分, 以扣 10 分為限。

2. 上課用心程度: 滿分 20 分。
 早到, 用心寫程式, 互動, 完成課程要求,
 等融入課堂情境認真學習者, 每紀錄一次得 2 分,
 
 各項成績在這邊看  (2009/1/21 15:00 AM 更新)

2009/1/19 20:55 PM 訊息:
1. 有一堆人的作業都是寫不出比較有深度的內容, 作業成績都是 60 分, 加上平時成績不高, 導致分數不及格。
2. 基本上, 我不會當那麼多人, 不過, 一定會當掉一些人就是了 !
3. 如果想要用自己的力量過關的同學, 今天晚上把課本看懂, 報告再改一改, email 通知我重閱報告!

2010/1/20 21:00 PM 訊息:
1. 成績公布更改為只公布學號末四碼。
2. 部分同學作業成績更新。

2010/1/21 9:15 AM 訊息:
1. 分數最後調整原則確立:
 a. 分數已達 60 分者, 每人加 5 分。
 b. 分數在 55-59 分者, 調整至 60 分。
 c. 不及格人數 4 人, 比 去年 減少 1 人。

2010/1/21 15:06 PM 訊息:
1. 部分同學作業成績更新。
 
 

2010年1月8日 星期五

Week 17: Edge Detection (梯度計算)

1. 梯度是什麼?

2. Sobel 運算子

3. 作業 7 : Sobel 運算子實作 (Sobel Operator Implementation)

4. 作業 8 : 期末心得與檢討報告 ( 可加分 1~3 分 )

2010年1月4日 星期一

Week 16: 2010 元旦放假一天

作業評分主要分成 A(90), B(75), C(60) 三個大等級, 然後再加減。
對作業成績不滿意的同學, 可以隨時再做更改,
但記得要通知我: 你改了哪些內容, 我會去重評你的作業。