師大資工所助教 羅安鈞 s0914742@mail.ncyu.edu.tw Matlab with DIP 教學 師大資工所助教 羅安鈞 s0914742@mail.ncyu.edu.tw.

Slides:



Advertisements
Similar presentations
实验安排 本周六和下周六上机时间: 上午: 8 : 30~10 : 00 第一组 上午: 11 : 00~11 : 30 第二组 下午: 14 : 30~16 : 00 第三组.
Advertisements

对本书、视频等任何 MATLAB 问题,作者做到有问必答! 你买的不仅仅是书,更是一种 “ 有问必答 ” 的服务!
國立成功大學工程科學系 Department of Engineering Science -National Cheng Kung University 控制與訊號處理實驗室 Control & Signal Processing Lab MATLAB/Simulink 教學.
組長: 4990L054 林佳欣 組員: 4990L046 高鈺琳 4990L053 吳依儒 4990L064 黃雅欣 4990L070 吳宛霖.
基础模块 模块一 程序设计基础 (一)开发环境部分.
培养目标 1.建立基本的程序设计概念体系,掌握基础程序设计方法。
对本书、视频等任何MATLAB问题,作者做到有问必答!
课程内容及考试介绍 讲解内容: 考试(开卷考试) 课堂讲授:第一章~第七章(不包括第六章);
数字图像处理 Digital Image Processing.
學生:林育暉 指導教授:蔣依吾 國立中山大學資訊工程學系
報告即將開始.
Introduction to Matlab
1012 MATLAB 教學 彭奕翔 2013/02/27.
程序设计思想与方法入门篇 庄天红.
性別透視鏡 鳳鳴電台 高宜君老師.
遥感数字图像处理实习.
第一章 導論.
数字图像处理 刘伯强 山东大学生物医学工程.
XI. Hilbert Huang Transform (HHT)
遥感软件操作综合实习.
Excellence in Manufacturing 卓 越 制 造
MATLAB介紹.
Seam Carving for Content-Aware Image Resizing
簡易 Visual Studio 2010 C++ 使用手冊
數位影像處理 2 影像與MATLAB.
Matlab教學 Speaker:林昱志 Date:2012/10/25.
Decision Support System (靜宜資管楊子青)
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
信号与图像处理基础 An Introduction to Signal and Image Processing 中国科学技术大学 自动化系
Image Processing : Basic Concept
Origin绘图和数据分析 2006年11月.
圖表製作 集中指標 0628 統計學.
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
邏輯設計 Logic Design 顧叔財, Room 9703, (037)381864,
何清波 博士 副教授 中国科学技术大学 精密机械与精密仪器系 安徽合肥 电话:
影像碎形壓縮.
引 言.
簡易 Visual Studio 2005 C++ 使用手冊
Decision Support System (靜宜資管楊子青)
授課教授:張寶基 助教:梁凱雯 郭千豪 音視訊處理實驗室 2014 / 9 / 30
第1章 MATLAB操作基础 1.1 绪论 1.2 MATLAB概述 1.3 MATLAB的运行环境与安装 1.4 MATLAB集成环境 1.5 MATLAB帮助系统.
MATLAB 程式設計入門篇 初探MATLAB
MATLAB 程序设计语言 任课教师:刘毅 西安电子科技大学 ISN国家重点实验室.
第三章 基本觀念 電腦繪圖與動畫 (Computer Graphics & Animation) Object Data Image
A high payload data hiding scheme based on modified AMBTC technique
The Practical Issues of Sonar Image Processing
数学建模 江西财经大学 数学与管理决策系 制作:华长生 华长生制作.
虚 拟 仪 器 virtual instrument
MATLAB 程式設計入門篇 初探MATLAB
C语言环境配置.
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
C语言程序示例: 1.输入10个数,按从小到大的顺序排序。 2.汉诺塔问题。.
MATLAB 程式設計入門篇 初探MATLAB
程式的時間與空間 Time and Space in Programming
Inheritance -II.
HW #1 Image Enhancement Image10~20是從節目中擷取出的圖片,由於計分板與上壘狀態屬於半透明圖形,使得半透明區域將受背景所影響。請利用 Image10~20 嘗試範例所述之 Temporal 和 Spatial Enhancement 的方式,以得到較佳的視覺效果。 繳交作業需包含報告(課堂上繳交)及程式(upload)
第一单元 第1课 Matlab概述 1.MATLAB 2.工具箱 3.高效数值计算功能 4.完备的计算结果和编程可视化功能
數位影像處理 4 點處理.
第六章 影像幾何 6.1 數據內插法 假設有4 個數值要放大成8 個數值,該怎麼做? 解出線性係數a、b如下:
Introduction to Matlab
第1章程序设计和C语言.
MATLAB 实用教程.
Chapter 0 Introduction to Medical Image Processing
原版:清大資工系 張智星 新增版:方煒 台大生機系
劉庠宏、林合治編著 國立高雄大學應用數學系 2005年3月1日
Principle and application of optical information technology
IMU Deblur 張浩軒.
Hybrid fractal zerotree wavelet image coding
Section 1 Basic concepts of web page
Presentation transcript:

師大資工所助教 羅安鈞 s0914742@mail.ncyu.edu.tw Matlab with DIP 教學 師大資工所助教 羅安鈞 s0914742@mail.ncyu.edu.tw

What is matlab MATLAB is a high-performance language for technical computing. MATLAB is an interactive system. File format : M-file i.e. *.m

Matlab介面

介面說明 Workspace: 顯示目前工作環境內定義的變數 Command Window: 就如同一個文字操作介面,有 >> 提示號,在提示號之後輸入指令 Command History 紀錄曾經下過的指令

介面說明(cont.) Current Directory Window 預設路徑C:\MATLAB\Work 使用時只需呼叫檔名,不必給予檔案路徑。

指令操作 在command window輸入指令 按下 [Enter] 就執行計算並且顯示答案 Matlab不在乎空格 ex: 2*3-4 等同於 2 * 3 - 4 內建Function不分大小寫 ex: imread() 等同於 IMREAD()

指令操作 自訂變數有分大小寫 ex: 指令 x=0 不等於 X=0 分號(;)接於指令之後: 功用:不顯示結果(有存起來) ex: x=[0 1 2] //向量 ex: x=[0 1 2]; 顯示 不顯示 x= 0 1 2

影像處理常用數學函式 計算平方根 (square root),指令是 sqrt( ) 絕對值 (absolute value),指令是 abs( ) ( ) 裡面可以有其他的運算 ex : sqrt(1+2*3) sqrt(sqrt(16))

其他常用指令 冒號指令:可以從「頭」到「尾」產生一序列的數。 ex: 1:5 製造了序列 1 2 3 4 5 折線圖plot(): 用法:plot(x,y),其中 x 和 y 是維度相同的序列或向量。 ex: x=[0 1 2]; y=[0 1 0]; plot(x,y) 畫出從 (0,0) 到 (1,1) 到 (2,0) 的兩條折線

其他常用指令(cont.) 軸線axis( ) : 用法: axis(v1 v2 v3 v4)

For loop 用法:for 變數 = 向量或序列, 計算, end ex: for i = 1:100, ex: for i=1:2:100 , y(i) =2; s = s+i; End end ex: for x = [0 1 5 3], disp(x); //印出 x end

If Else 用法:if (True or False), 計算, end ex: if (isempty(t)) t = 0; End 用法: if (True_or_False), 計算, else, 計算, end

The MATLAB Image Processing Toolbox The Image Processing Toolbox is a collection of MATLAB functions (called M-functions or M-files) that extend the capability of the MATLAB environment for the solution of digital image processing problems.

The MATLAB Image Processing Toolbox(cont.) Including: -Spatial image transformations -Morphological operations -Neighborhood and block operations -Linear filtering and filter design -Transforms - Image analysis and enhancement -Image registration -Deblurring -Region of interest operations

How do I know M-function? Find it in Matlab Help. -by category. -by alphabetical order. Find it on the textbook.

Matlab 內建影像 C:\MATLAB7\toolbox\images\imdemos 皆為Matlab Help中範例的原始影像。 使用時只需直接在指令中輸入檔名,即可使用。 適用於觀察影像處理結果

Different Image Types Indexed images Intensity (grayscale) images Binary images RGB (true-color) images

Reading an image imread() 功用:將影像載入並存成array格式備用 用法:[I,map] = imread(filename); I = imread(filename); ex: I = imread('pout.tif'); I為指向影像的變數 不指定變數,則為ans

Displaying an image imshow() 功用:開啟一個視窗顯示影像 用法: imshow(I) imshow(I,map) Figure, imshow() 功用:開啟一個新視窗顯示影像 用法: figure,imshow(I)

Displaying an image(cont.) imshow(I, [low, high]) imshow(I, [ ]) 功用:displays I as a grayscale intensity image, specifying the data range for I. The minimum value in I is displayed as black, and the maximum value is displayed as white.

Displaying an image(cont.) Spatial domain

Displaying an image(cont.) pixval : 功能:cursor on image to show pixel values 用法: imshow(I),pixval

Displaying an image(cont.) colorbar 功能:To display an image with a colorbar that indicates the range of intensity values. 用法: imshow(I), colorbar   ex: I = imread('pout.tif'); imshow(I) , colorbar

Writing an image imwrite() 功能:將影像寫入成檔案 用法: imwrite(I,filename,format) ex: imwrite(I,'pout.jpg‘,’JPEG’);

Image information Image size: size() ex: I= imread('saturn.png'); size(I) [M,N] = size(I) M=影像I的高 N=影像I的寬

Image information whos 功用:display information about an image . ex: whos I Imfinfo( filename ) 功用: display information about image file . ex: info = imfinfo('saturn.png')

Digital Image processing 影像二元化 g = im2bw(I, T); 功用:Convert intensity image I to binary image g using threshold T, where T must be in range [0, 1]. ex: I= imread('pout.tif'); g = im2bw(I, 0.4); imshow(g) ,colorbar

Digital Image processing(cont.) 彩色轉灰階 Rgb2gray() 功用:將RBG彩色影像轉換成gray-level影像。ex: I= imread ('saturn.png'); g = rgb2gray(I); imshow(g), colorbar

Digital Image processing(cont.) 反相 imcomplement( ) 功用:The negative of an image. ex: J = imcomplement(g); imshow(J),

Digital Image processing(cont.) 變更影像大小 imresize(I,scale,method); 功用:To change the size of an image. interpolation Method: -'nearest‘ :Nearest-neighbor interpolation -'bilinear‘ :Bilinear (the default) -'bicubic‘ :Bicubic interpolation

Digital Image processing(cont.) ex: I = imread('circuit.tif'); J = imresize(I,1.25); imshow(I) figure, imshow(J) J = imresize(I,[100 150], 'bilinear');

Digital Image processing(cont.) 旋轉影像 imrotate(I, angle); 功用:To rotate an image. ex: I = imread('pout.tif'); J = imrotate(I,35); imshow(J)

More Example Using affine transformation 1.Rotation 45 degree I=imread('spokes1.bmp'); T = maketform('affine',[cosd(45) -sind(45) 0; sind(45) cosd(45) 0; 0 0 1]); tformfwd([10 20],T); I2 = imtransform(I,T); imshow(I2)

More Example(cont.) 2.Translation I=imread('spokes1.bmp'); move = translate(strel(1), [25 30]); H = imdilate(I,move); imshow(H)

More Example(cont.) 3.shear I=imread('spokes1.bmp'); T = maketform('affine',[1 0 0; 1 2 0; 0 0 1]); tformfwd([10 20],T); I2 = imtransform(I,T); imshow(I2)

More Example(cont.) Edge detectors 1.Sobel edge detector Code://Both horizontal and vertical I=imread('bridge.jpg'); BW=rgb2gray(I); BW2=edge(BW,'sobel',0.02,'both'); figure,imshow(BW2)

More Example(cont.) 2.the Canny method low threshold: 0.04,high threshold: 0.10 , sigma is 1 Code: I=imread('bridge.jpg'); BW=rgb2gray(I); BW4 = edge(BW,'canny',[0.04 0.10],1); figure,imshow(BW4)

More Example(cont.) Canny 以 C語言來實作會困難很多!! Canny .txt

More Example(cont.) Filter(mean filter) Code: I = imread('coins.png'); h = ones(5,5) / 25; I2 = imfilter(I,h); imshow(I), title('Original Image'); figure, imshow(I2), title('Filtered Image')

More Example(cont.) Filter(unsharp masking filter ) Code: I = imread('cameraman.tif'); h = fspecial('unsharp'); I2 = imfilter(I,h); imshow(I), title('Original Image') figure, imshow(I2), title('Filtered Image')

M-function 不夠用怎麼辦? 自己寫。 在網路上尋找高手的package。 當找到新的M-files時,需幫它設定路徑,才可以像一般內建function直接使用。

Set path

Set path (cont.)

使用外掛程式 範例:使用Median Filter消除影像雜訊 Code: I=imread('510a.jpg'); imshow(I) F=SPFILT(I,'median',3,3); figure,imshow(F) F2=SPFILT(F,'median',3,3); figure,imshow(F2) F3=SPFILT(F2,'median',3,3); figure,imshow(F3)

MATLAB Compiler MATLAB Compiler 能讓您將MATLAB 程式轉換為可單獨執行的應用程式和軟體元件,並分享給其他使用者。 MATLAB Compiler 可免除您經由手動編寫方式將 MATLAB 程式碼轉譯為 C 或 C++ 的程序。 要再安裝MATLAB Component Run-time (MCR)元件等。

MATLAB Compiler (cont.) C to Matlab 設定了合適的編譯器,matlab 會自動幫我們編譯這個程式。 Example: hello world 指令: -編譯:mex filename ex: mex hello.c -執行: filename ex: hello

MATLAB Compiler (cont.) hello.c #include <stdio.h> #include "mex.h" void mexFunction(int nlhs,mxArray *plhs[], int nrhs, const mxArray *prhs[]){ printf("Hello, world."); } mex.h 定義了所有 Matlab 和 C 溝通所用到的 subroutine。 mexFunction 是程式的進入點,等價於 ANSI C 的 main。

參考書籍 Digital Image Processing Using MATLAB by Rafael C. Gonzalez , Richard E. Woods Steven L. Eddins

參考網站 http://libai.math.ncu.edu.tw/bcc16/B/matlab/index.shtml