TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
MATLAB圖像與視頻處理實用案例詳解(簡體書)
滿額折

MATLAB圖像與視頻處理實用案例詳解(簡體書)

商品資訊

人民幣定價:69 元
定價
:NT$ 414 元
優惠價
87360
絕版無法訂購
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

MATLAB圖像與視頻處理實用案例詳解》詳細講解了25MATLAB圖像與視頻處理實用案例(含可運行程序),涉及霧霾去噪、答題卡自動閱卷、肺部圖像分割、小波數字水印、圖像檢索、人臉二維碼識別、車牌定位及識別、霍夫曼圖像壓縮、手寫數字識別、英文字符文本識別、眼前節組織提取、全景圖像拼接、小波圖像融合、基于語音識別的音頻信號模擬燈控、路面裂縫檢測識別、視頻運動估計追蹤、Simulink圖像處理等多項重要技術,涵蓋了數字圖像處理中幾乎所有的基本模塊。

工欲善其事,必先利其器,《MATLAB圖像與視頻處理實用案例詳解》對每個數字圖像處理的知識點都提供了豐富生動的案例素材,并詳細講解了其MATLAB實驗的核心程序,通過對這些示例程序的閱讀理解和仿真運行,讀者可以更加深刻地理解圖像處理的內容,并且更加熟練地掌握MATLAB中各種函數在圖像處理領域中的用法。

MATLAB圖像與視頻處理實用案例詳解》以案例為基礎,結構布局緊湊,內容深入淺出,實驗簡捷高效,適合計算機、信號通信和自動化等相關專業的教師、本科生、研究生,以及廣大從事數字圖像處理的工程研發人員閱讀參考。

作者簡介

劉衍琦,碩士,軟件研發工程師,MATLAB技術論壇圖像版主,畢業于大連理工大學數學科學學院計算幾何與圖形圖像實驗室。從本科學習階段開始接觸MATLAB,歷經MATLAB6.X8.X系列的發展,不斷地將MATLAB熟練地應用到科研學習和工作之中,并積極通過MATLAB技術論壇等平臺與國內外廣大會員朋友進行技術探討,將解決圖像處理開發所遇到的實際問題進行了經驗總結,積累了一定的圖像處理知識儲備。在MATLAB技術論壇發布多篇圖像處理相關教程,合作出版多本MATLAB書籍。

詹福宇,博士,飛行控制系統工程師,MATLAB技術論壇創始人,畢業于西北工業大學航空學院飛行器設計專業。精通多種計算機編程,尤其擅長MATLABC/C ,擁有近10MATLAB開發使用經驗,熟悉Simulink基于模型設計流程。于2008年創建MATLAB技術論壇,安全運營、維護和管理該論壇網站6年,編寫MATLAB/Simulink原創教程數百篇,解決會員MATLAB技術問題數萬個,積累了豐富的相關經驗。曾多次、多地組織MATLAB現場技術研討會,贏得了大家的積極好評。

名人/編輯推薦

劉衍琦,碩士,軟件研發工程師,MATLAB技術論壇圖像版主,畢業于大連理工大學數學科學學院計算幾何與圖形圖像實驗室。從本科學習階段開始接觸MATLAB,歷經MATLAB6.X8.X系列的發展,不斷地將MATLAB熟練地應用到科研學習和工作之中,并積極通過MATLAB技術論壇等平臺與國內外廣大會員朋友進行技術探討,將解決圖像處理開發所遇到的實際問題進行了經驗總結,積累了一定的圖像處理知識儲備。在MATLAB技術論壇發布多篇圖像處理相關教程,合作出版多本MATLAB書籍。

詹福宇,博士,飛行控制系統工程師,MATLAB技術論壇創始人,畢業于西北工業大學航空學院飛行器設計專業。精通多種計算機編程,尤其擅長MATLABC/C ,擁有近10MATLAB開發使用經驗,熟悉Simulink基于模型設計流程。于2008年創建MATLAB技術論壇,安全運營、維護和管理該論壇網站6年,編寫MATLAB/Simulink原創教程數百篇,解決會員MATLAB技術問題數萬個,積累了豐富的相關經驗。曾多次、多地組織MATLAB現場技術研討會,贏得了大家的積極好評。

目次

1 基于直方圖優化的圖像去霧技術 1

1.1 案例背景 1

1.2 理論基礎 1

1.2.1 空域圖像增強 1

1.2.2 直方圖均衡化 1

1.3 程序實現 3

1.3.1 設計GUI界面 3

1.3.2 全局直方圖處理 4

1.3.3 局部直方圖處理 5

1.3.4 Retinex增強處理 7

1.4 延伸閱讀 10

1.5 參考文獻 11

2 基于形態學的權重自適應圖像去噪 12

2.1 案例背景 12

2.2 理論基礎 12

2.2.1 圖像去噪方法 12

2.2.2 數學形態學原理 13

2.2.3 權重自適應的多結構形態學去噪 14

2.3 程序實現 14

2.4 延伸閱讀 20

2.5 參考文獻 21

3 基于多尺度形態學提取眼前節組織 22

3.1 案例背景 22

3.2 理論基礎 22

3.3 程序實現 25

3.3.1 多尺度邊緣 25

3.3.2 主處理函數 26

3.3.3 形態學處理 28

3.4 延伸閱讀 29

3.5 參考文獻 30

4 基于Hough變化的答題卡識別 31

4.1 案例背景 31

4.2 理論基礎 31

4.2.1 圖像二值化 31

4.2.2 傾斜校正 32

4.2.3 圖像分割 35

4.3 程序實現 37

4.4 延伸閱讀 47

4.5 參考文獻 47

5 基于閾值分割的車牌定位識別 48

5.1 案例背景 48

5.2 理論基礎 48

5.2.1 車牌圖像處理 49

5.2.2 車牌定位原理 52

5.2.3 車牌字符處理 52

5.2.4 字符識別 54

5.3 程序實現 55

5.4 延伸閱讀 63

5.5 參考文獻 63

6 基于分水嶺分割進行肺癌診斷 64

6.1 案例背景 64

6.2 理論基礎 64

6.2.1 模擬浸水的過程 64

6.2.2 模擬降水的過程 65

6.2.3 過度分割問題 65

6.2.4 標記分水嶺分割算法 65

6.3 程序實現 66

6.4 延伸閱讀 71

6.5 參考文獻 71

7 基于主成分分析的人臉二維碼識別 72

7.1 案例背景 72

7.2 理論基礎 72

7.2.1 QR編碼簡介 72

7.2.2 QR編碼譯碼 74

7.2.3 主成分分析方法 76

7.3 程序實現 77

7.3.1 人臉建庫 77

7.3.2 人臉識別 78

7.3.3 人臉二維碼 79

7.4 延伸閱讀 83

7.5 參考文獻 84

8 基于知識庫的手寫體數字識別 85

8.1 案例背景 85

8.2 理論基礎 85

8.2.1 算法流程 85

8.2.2 特征提取 85

8.2.3 模式識別 86

8.3 程序實現 87

8.3.1 圖像處理 87

8.3.2 特征提取 88

8.3.3 模式識別 91

8.4 延伸閱讀 91

8.4.1 識別器選擇 91

8.4.2 提高識別率 92

8.5 參考文獻 92

9 基于特征匹配的英文印刷字符識別 93

9.1 案例背景 93

9.2 理論基礎 93

9.2.1 圖像預處理 93

9.2.2 圖像識別技術 94

9.3 程序實現 96

9.4 延伸閱讀 101

9.5 參考文獻 101

10 基于不變矩的數字驗證碼識別 102

10.1 案例背景 102

10.2 理論基礎 10

書摘/試閱

第 18章 基于GUI搭建通用視頻處理工具
18.1 案例背景
數字視頻處理技術指將一系列靜態圖像以信號方式加以采集、標記、處理、保存、傳輸和重現等各種技術的綜合[1]。經驗證,畫面變化由每秒超過24幀以上連續的圖像產生時,根據視覺暫留原理,人眼將無法辨別單幅的靜態畫面,于是在視覺上產生了平滑連續的視覺效果,即出現連續的畫面,這就是我們常說的視頻的產生過程。所謂視頻生成技術,就是利用人類的“視覺滯留”原理,將多幅畫面以高于一定速度的方式進行序列播放,將形成連續不斷的視頻圖像,進而達到視頻播放的效果。
視頻處理首先要解決的問題就是對視頻進行讀取、獲取視頻信息、提取幀圖像等操作。MATLAB包含了一個強大的視頻及圖像處理工具箱,本章將綜合利用MATLAB圖像處理和圖形展示等多元化功能,設計通用的MATLAB視頻處理GUI框架,可實現視頻文件的幀圖像序列提取、視頻播放、軟件截屏等功能,為視頻處理項目提供基礎的框架服務。
18.2 理論基礎
隨著圖像處理與數字通信技術的快速發展,視頻的應用越來越廣泛。數字視頻可以看作圖像在時間軸上擴展所得到的圖像序列,視頻的每一幀也可以看作對靜止的圖像進行處理。視頻是用來記錄多媒體信息的重要載體的,可以同時包含圖像、聲音、備注信息等內容;數字視頻是以數字形式進行記錄的視頻,有著不同的產生、存儲及播放方式。本案例基于MATLAB開發了一套視頻處理的GUI框架程序,通過調用MATLAB的視頻處理函數VideoReader來進行視頻文件的載入與分幀,該框架可方便地進行擴展,用于對不同應用場景的視頻處理算法進行仿真實驗。
GUI的全稱為Graphical User Interfaces,即各種圖形對象組成的用戶界面,在這種用戶界面下,用戶的命令和對程序的控制是通過“選擇”各種圖形對象來實現的。基本圖形對象分為控件對象和用戶界面菜單對象,簡稱控件和菜單[2]。控件對象是事件響應的圖形界面對象,當某事件發生時,應用程序會做出響應并執行某些預定的功能子程序(Callback)。菜單對象的事件響應則是通過名稱、標識、選中標記等關聯到功能子程序來進行事件發生的響應。因此,通過界面設計及相關的回調函數開發,可以定制生成具有特定應用的GUI程序,便于用戶交互和功能演示。
MATLAB圖像視頻處理工具箱通過VideoReader函數可以兼容多種格式的視頻,能方便地獲取視頻的維數、幀數等屬性信息,也可以進行視頻的分幀處理,可方便地獲取視頻相應的圖像序列。在實際使用中,通過obj = VideoReader(fileName)可以建立視頻讀取對象,obj中包含了視頻的各種屬性參數,并可以直接通過結構體的方式來進行訪問,例如obj.NumberOfFrames可以獲取視頻的幀數信息,obj.FrameRate可以獲取視頻的幀速信息等,更多的參數信息如表18-1所示。
18.3 理論基礎
本節以MATLAB作為測試環境,設計圖形用戶界面GUI,實現視頻文件的讀取、信息獲取、圖像序列獲取、播放、暫停、停止、抓圖等通用功能,界面美觀,易于拓展,可作為視頻處理系統的初始工程。
18.3.1 GUI設計
通過在Command窗口運行guide命令,可直接打開GUI設計工具箱。也可以通過單擊菜單New/Graphic User Interface進入GUI創建/打開界面,如圖18-1所示。
圖18-1 創建GUI工程
創建新的GUI工程,這里命名為MainFrame,保存后可以看到生成了兩個文件,分別為MainFrame.fig、MainFrame.m,我們簡稱它們為窗體文件、源碼文件。為進行視頻處理的實驗,選用MATLAB圖像處理工具箱自帶的視頻文件traffic.avi,并將其復制到工程目錄的video文件夾下,然后設計窗體界面為如圖18-2所示。
圖18-2 窗體設計界面
界面設計分為視頻區域、視頻信息、控制面板、操作流程及說明等,用于實現對視頻進行顯示、獲取信息、操作及說明等功能。
18.3.2 GUI實現
根據18.3.1節介紹的GUI設計框架,對主要功能進行實現,實驗用的視頻為video文件夾下的traffic.avi,為了顯示及處理方便,實驗中會將其轉化為幀圖像序列并進行保存。
18.3.2.1 視頻文件讀取
打開視頻文件,調用uigetfile函數,交互式載入視頻文件,獲取視頻文件的路徑并返回,核心代碼如下所示。

function filePath = OpenVideoFile()
% 打開視頻文件
% 輸出參數:
% filePath——視頻文件路徑

videoFilePath = fullfile(pwd, 'video\traffic.avi');
[filename, pathname, filterindex] = uigetfile( ...
{ '*.avi','視頻文件 (*.avi)'; ...
'*.mpeg','視頻文件 (*.mpeg)'; ...
'*.*', '所有文件 (*.*)'}, ...
'選擇視頻文件', ...
'MultiSelect', 'off', ...
videoFilePath);
filePath = 0;
if isequal(filename, 0) || isequal(pathname, 0)
return;
end
filePath = fullfile(pathname, filename);

關聯到“打開視頻文件”按鈕,執行時會彈出選擇文件的對話框,如圖18-3所示。
圖18-3 載入視頻文件
18.3.2.2 獲取視頻信息
可通過調用MATLAB庫函數VideoReader來獲取視頻文件的信息并進行保存,通過提取指定的信息到GUI的Edit Text控件進行顯示,核心代碼如下所示。

% 獲取視頻信息按鈕
if handles.videoFilePath == 0
msgbox('請載入視頻文件!', '提示信息');
return;
end
% 獲取信息并保存
videoInfo = VideoReader(handles.videoFilePath);
handles.videoInfo = videoInfo;
guidata(hObject, handles);
% 提取信息并顯示到界面
set(handles.editFrameNum, 'String', sprintf('%d', videoInfo.NumberOfFrames));
set(handles.editFrameWidth, 'String', sprintf('%d px', videoInfo.Width));
set(handles.editFrameHeight, 'String', sprintf('%d px', videoInfo.Height));
set(handles.editFrameRate, 'String', sprintf('%d f/s', videoInfo.FrameRate));
set(handles.editDuration, 'String', sprintf('%.1f s', videoInfo.Duration));
set(handles.editVideoFormat, 'String', sprintf('%s', videoInfo.VideoFormat));
msgbox('獲取視頻文件信息成功!', '提示信息');

關聯到“獲取視頻信息”按鈕,執行時會在后臺獲取已載入的視頻文件信息,并將所需的信息字段在界面的相應控件中進行顯示,如圖18-4所示。
18.3.2.3 獲取圖像序列
MATLAB對視頻文件的處理,關鍵是要獲取視頻幀圖像進行相關處理,因此對視頻幀圖像序列的獲取尤為重要。可調用MATLAB庫函數VideoReader進行循環處理來提取幀圖像序列,并保存到本地文件夾,核心代碼如下所示。

function Video2Images(videoFilePath)
clc;
nFrames = GetVideoImgList(videoFilePath);

function nFrames = GetVideoImgList(videoFilePath)
% 獲取視頻圖像序列
% 輸入參數:
% vidioFilePath——視頻路徑信息
% 輸出參數:
% videoImgList——視頻圖像序列

xyloObj = VideoReader(videoFilePath);
% 視頻信息
nFrames = xyloObj.NumberOfFrames;
video_imagesPath = fullfile(pwd, 'video_images');
if ~exist(video_imagesPath, 'dir')
mkdir(video_imagesPath);
end

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 360
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區