万能电子系周建兴.ppt

上传人:本田雅阁 文档编号:3189244 上传时间:2019-07-23 格式:PPT 页数:48 大小:2.22MB
返回 下载 相关 举报
万能电子系周建兴.ppt_第1页
第1页 / 共48页
万能电子系周建兴.ppt_第2页
第2页 / 共48页
万能电子系周建兴.ppt_第3页
第3页 / 共48页
万能电子系周建兴.ppt_第4页
第4页 / 共48页
万能电子系周建兴.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《万能电子系周建兴.ppt》由会员分享,可在线阅读,更多相关《万能电子系周建兴.ppt(48页珍藏版)》请在三一文库上搜索。

1、萬能電子系 周建興,數位影像處理教學程式,開發環境介紹,使用軟體 Borland C+ Builder 6.0以上版本 個人電腦一台 程式網址http:/140.115.51.174/students/ister/others/image/Image_Program.htm 請下載Image4c.rar,並解壓縮執行,程式畫面,點擊projext1.exe執行檔,軟體功能簡介,開啟影像檔程式請看 File Open Image 儲存影像檔程式請看 File Save Image 量化程式(Quantization) 32 Color - 量化成32色 8 Color - 量化成8色 2 Col

2、or - 量化成2色,練習開啟與儲存影像檔案,練習用程式轉成2色影像,空間頻域之影像處理方法,Darker - 變暗 Lighter - 變亮 Inverse - 反相 Histogram Equalization - 長條圖等化 Thresholding - 取閥值做二值化處理 (修改數值會有不同的結果) Thresholding AutoSelecting - 程式自行選取適當的閥值做二值化處理 (可用H.bmp這張圖測試),練習將影像變暗,練習將影像做反相,反相影像,練習長條圖等化,濾波器處理方法 (Filter),Lowpass Filter - 低通濾波器 Highpass Filt

3、er - 高通濾波器 Medium Filter - 中值濾波器 (可用Lena-noise.bmp這張圖測試) Sobel Filter - 找Edue(邊緣) (修改數值會有不同的結果),開啟被刮傷的影像,使用低通濾波器(模糊化),使用中值濾波器處理受損影像,開啟H.bmp檔案,使用高通濾波器顯示邊界,使用SOBEL濾波器找邊界,描述方法 (Representation),Thinning - 細化 (可用H.bmp先取閥值後 在對這張圖做細化 還原原始檔案 - 點選“還原原始檔案“的按鈕 即可還原成原始影像 ),程式中的參數說明,Image_Width 開啟影像的寬度 Image_Hei

4、ght 開啟影像的高度 Data 儲存開啟影像與用來進行運算的陣列,此陣列為二維陣列 DataImage_WidthImage_Height 第一維的大小是Image_Width 第二維的大小是Image_Height,副函式說明如下,GetBitmap( ) 將影像的資料讀進預先宣告的Data陣列 SetBitmap( ) 將Data陣列中的資料 儲存到原始影像中 並顯示在圖片上 Retrieve( ) 將Data陣列中的資料還原回原始影像中的資料,練習用Borland C+ 2009修改程式,先用BCB打開專案檔,作業一:寫一個反相功能的程式,開啟後,請先點Run執行程式一次。 然後關閉執

5、行的程式,作業一,點選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

6、; i+) for(int j = 0; j Image_Height; j+) Dataij = 255 - Dataij; SetBitmap(); SetBitmap是在像素值都被修改後,用來顯示影像的函示。,作業一,寫好的程式碼 然後按Run(F9)執行程式,作業一,程式若沒有寫錯,執行的介面會出現一個新的作業(1)按鍵。 開啟一張影像作測試,程式執行結果,作業二:寫一個簡易的變亮處理,同樣的步驟,先做出作業二的按鈕,作業二:寫一個簡易的變亮處理,簡易的變亮方法,就是增加每個像素的灰階影像數值。 例如:變量後數值=原始灰階值+40 但是要注意影像數值不可超過255 因此要用IF判斷式,

7、將大於255的數值改為255,作業二:寫一個簡易的變亮處理,程式範例 for(int i = 0; i 255) Dataij = 255; SetBitmap();,作業二:寫一個簡易的變亮處理,點擊作業二後,輸入程式碼。 然後執行程式。,作業二:寫一個簡易的變亮處理,執行結果,作業討論,如果增加40改為增加20或80,會有什麼不同? 作業三:請製作一個簡易的變暗處理程式。 (提示:將影像灰階值變小,並大於0) 請自行練習作業三。,作業四:做影像左右翻轉(鏡射),將影像左右不同位置像素的灰階值,做調換。,作業四:,重點一: 交換程式:假設a=5, b=3 。a,b兩個變數要交換 程式: in

8、t 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度,提示:要各執行水平翻轉,與垂直翻轉各一次。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1