數位影像處理教學程式 萬能電子系 周建興.

Slides:



Advertisements
Similar presentations
E-portfolio 個人履歷網站教學
Advertisements

第四週課程 1 (10/10~10/16) 如何建立資料. 原始資料範例 a1~a5 表示選擇題,輸入原始答案,如 A 、B、C、D b1~b5 表示填充題, c1~c5 表示計算題,輸入得分.
第一單元 建立java 程式.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
題目:十六對一多工器 姓名:李國豪 學號:B
Chapter 5 迴圈.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
Supplement Data Mining 工具介紹 楊立偉教授 台灣大學工管系 2014 Fall 1.
Supplement Data Mining 工具介紹 楊立偉教授 台灣大學工管系 2015 Fall 1.
Q101 在701 SDX Linux上的標準安裝與使用程序v2
JDK 安裝教學 (for Win7) Soochow University
第1章 認識Arduino.
在NS-2上模擬多個FTP連線,觀察頻寬的變化
Data Mining 工具介紹 (Weka / R)
SSL-VPN 之登入及使用 資訊處 主講人.
R教學 安裝RStudio 羅琪老師.
[LAB 3]Make OS SD Card Step1 Download the image file.
安裝JDK 安裝Eclipse Eclipse 中文化
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
自由軟體介紹(一) 把flash通通帶回家 報告人:陳俊銘.
Word與PowerPoint的結合 建功國小 陳旻杰 健行國小 張慧如.
Android App簡介及 App Inventor 2體驗 靜宜大學資管系 楊子青
影像分析系統 之 偵測辨認與量測.
EBSCOhost App應用程式 安裝方式.
Digital Image Processing 數位影像處理
電腦攻擊與防禦 使用電腦教室VMware軟體說明.
數位鳳凰計畫-復習課程 授課:方順展.
Web Component: Accessing the Web and CSV 靜宜大學資管系 楊子青
Java程式設計 Eclipse.
第一單元 建立java 程式.
VS.NET 2003 IDE.
App Inventor 2初體驗 靜宜大學資管系 楊子青
Ch20. 計算器 (Mac 版本).
密碼變更說明 含WinXP、Win7及Citrix.
精明使用互聯網教育計劃 K9下載及安裝教學篇.
TA教育訓練 微處理機系統實習.
複製硬碟映像檔 & 在 VirtualBox 加入硬碟檔
EPSON 點矩陣印表機LQ-300+ 發票紙張格式設定.
打地鼠(陣列版).
CH1 我的第一個App與變數宣告.
WinPXE 無硬碟系統 6.0 安裝說明 憶傑科技股份有限公司
安裝 / 操作 flashget SOP (以Win 7 作業系統為範例)
期末考.
GUI Title and GUI Status
指導老師:周建興 老師 開發團隊:吳旻翰、池宗諺 淡江大學電機工程學系 2015/12/11
個人網路空間 資訊教育.
CVPlayer下載及安裝& IVS操作說明
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
HelloPurr_Extend 靜宜大學資管系 楊子青
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
MiRanda Java Interface v1.0的使用方法
陣列與結構.
SCM系統使用說明 1. 登入系統 2. 修改密碼 3. PO-回復 4. DN-回復 5. Forecast維護(暫不能用)
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
CH10 即時雲端資料庫 聊天室App.
第四章 門檻值決定與區域分割.
學生English Central 手機版.
如何從政大圖書館館藏目錄匯出書目至EndNote
Brief Guide of FrontPage
班級:博碩子一甲 授課老師:鐘國家 助教:陳國政
安裝JDK 配置windows win7 環境變數
第十三章 彩色影像處理.
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Unix指令4-文字編輯與程式撰寫.
Develop and Build Drives by Visual C++ IDE
雲端電腦教室 Matlab 使用介紹 1. 工作目錄切換 2. 把 matlab 的檔案存出來 3. Matlab 軟體介面.
Quantum-Wise軟體教學.
InputStreamReader Console Scanner
Presentation transcript:

數位影像處理教學程式 萬能電子系 周建興

開發環境介紹 使用軟體 Borland C++ Builder 6.0以上版本 個人電腦一台 程式網址 http://140.115.51.174/students/ister/others/image/Imag e_Program.htm 請下載Image4c.rar,並解壓縮執行

程式畫面 點擊projext1.exe執行檔

軟體功能簡介 開啟影像檔程式請看 File -->Open Image 儲存影像檔程式請看 File -->Save Image 量化程式(Quantization) 32 Color  -> 量化成32色 8 Color  -> 量化成8色 2 Color  -> 量化成2色

練習開啟與儲存影像檔案

練習用程式轉成2色影像

空間頻域之影像處理方法 Darker -> 變暗 Lighter -> 變亮 Inverse -> 反相 空間頻域之影像處理方法  Darker  ->  變暗 Lighter ->  變亮 Inverse ->  反相 Histogram Equalization - > 長條圖等化 Thresholding ->  取閥值做二值化處理 (修改數值會有 不同的結果)    Thresholding AutoSelecting ->  程式自行選取適當的閥 值做二值化處理   (可用H.bmp這張圖測試)

練習將影像變暗

練習將影像做反相

反相影像

練習長條圖等化

濾波器處理方法 (Filter) Lowpass Filter -> 低通濾波器 Highpass Filter - > 高通濾波器    Medium Filter -> 中值濾波器      (可用Lena-noise.bmp這 張圖測試) Sobel Filter ->  找Edue(邊緣)  (修改數值會有不同的結 果)

開啟被刮傷的影像

使用低通濾波器(模糊化)

使用中值濾波器處理受損影像

開啟H.bmp檔案

使用高通濾波器顯示邊界

使用SOBEL濾波器找邊界

描述方法 (Representation) Thinning -> 細化 (可用H.bmp先取閥值後 在對這張圖 做細化 還原原始檔案  -> 點選"還原原始檔案"的按鈕  即可 還原成原始影像    )

程式中的參數說明 Image_Width 開啟影像的寬度 Image_Height 開啟影像的高度 Data[][] 儲存開啟影像與用來進行運算的陣列,此陣 列為二維陣列  Data[Image_Width][Image_Height] 第一維的大小是Image_Width   第二維的大小是 Image_Height

副函式說明如下 GetBitmap( ) 將影像的資料讀進預先宣告的Data[][]陣列 SetBitmap( ) Retrieve( ) 將Data[][]陣列中的資料還原回原始影像中的資料

練習用Borland C++ 2009修改程式 先用BCB打開專案檔

作業一:寫一個反相功能的程式 開啟後,請先點Run執行程式一次。 然後關閉執行的程式

作業一 點選unit.cpp

作業一 點Design, 打開程式的Form

作業一 點Main Menu1

作業一 點main menu空白處,來新增一個新的功能,在左邊 caption處取名為作業1

作業一 按下ENTER後,點作業1就會連結到可以寫程式的 地方

作業一 反相的原理,便是黑變白,白變黑 公式為 (假定為256色灰階影像) 反相後的數值 = 255-目前灰階值 影像的寬度會儲存在Image_Width 而影像的高度會儲存在Image_Height 因此利用兩個for迴圈,將每個像素的影像值予以更 改

作業一 程式範例 for(int i = 0; i < Image_Width; i++) for(int j = 0; j < Image_Height; j++) Data[i][j] = 255 - Data[i][j]; SetBitmap(); SetBitmap是在像素值都被修改後,用來顯示影像的 函示。

作業一 寫好的程式碼 然後按Run(F9)執行程式

作業一 程式若沒有寫錯,執行的介面會出現一個新的作業 (1)按鍵。 開啟一張影像作測試

程式執行結果

作業二:寫一個簡易的變亮處理 同樣的步驟,先做出作業二的按鈕

作業二:寫一個簡易的變亮處理 簡易的變亮方法,就是增加每個像素的灰階影像數 值。 例如:變量後數值=原始灰階值+40 但是要注意影像數值不可超過255 因此要用IF判斷式,將大於255的數值改為255

作業二:寫一個簡易的變亮處理 程式範例 for(int i = 0; i < Image_Width; i++) for(int j = 0; j < Image_Height; j++)\ { Data[i][j] = Data[i][j]+40; if(Data[i][j] >255) Data[i][j] = 255; } SetBitmap();

作業二:寫一個簡易的變亮處理 點擊作業二後,輸入程式碼。 然後執行程式。

作業二:寫一個簡易的變亮處理

執行結果

作業討論 如果增加40改為增加20或80,會有什麼不同? 作業三:請製作一個簡易的變暗處理程式。 (提示:將影像灰階值變小,並大於0) 請自行練習作業三。

作業四:做影像左右翻轉(鏡射) 將影像左右不同位置像素的灰階值,做 調換。

作業四: int temp = a; a=b; b=temp; 重點一: 交換程式:假設a=5, b=3 。a,b兩個變數要交換 程式: int temp = a; a=b; b=temp; temp的功用是暫時儲存a的數值,等到b的值給a 後,便可將暫存於temp值,儲存給b。

作業四: 重點二:如果矩陣中有十個數值要兩兩交換, 則只需要交換五次即可。(也就是一半的次數)

作業四: 先點右邊Standard,在TButton點一下 然後在Design上點一下新增一個按鈕

作業四: 將按鈕更名為作業四,並點擊後撰寫程式。

作業四: 程式碼 Image_Width要改成Image_Width/2

作業五:垂直翻轉 迴圈中,調換的是垂直方向的數值,也就是 j 要變 動。 Image_Height要改成Image_Height/2

作業六:旋轉180度 提示:要各執行水平翻轉,與垂直翻轉各一次。