OpenCV2計(jì)算機(jī)視覺編程手冊

出版時(shí)間:2013-6-25  出版社:科學(xué)出版社有限責(zé)任公司  作者:Robert Laganiere  譯者:張靜  
Tag標(biāo)簽:無  

內(nèi)容概要

《OpenCV2計(jì)算機(jī)視覺編程手冊》以案例的形式介紹OpenCV 2.X的新特性和C++新接口,案例中包含具體的代碼與詳細(xì)的說明。本書很好地平衡了基礎(chǔ)知識與進(jìn)階內(nèi)容,要求讀者具有基礎(chǔ)的C++知識。本書既適合想要學(xué)習(xí)計(jì)算機(jī)視覺的C++初學(xué)者,也適合專業(yè)的軟件開發(fā)人員。本書可作為高等院校計(jì)算機(jī)視覺課程的輔助教材,也可以作為圖像處理和計(jì)算機(jī)視覺領(lǐng)域研究人員的參考手冊。

作者簡介

作者:(加拿大)Robert Laganiere 譯者:張靜Robert Laganiere,加拿大渥太華教授,于1996年獲得蒙特利爾INRS-Telecommunications博士學(xué)位。他是計(jì)算機(jī)視覺領(lǐng)域的研究員,興趣包括食品分析、智能視覺監(jiān)控,以及基于圖像的建模。他是VIVA實(shí)驗(yàn)室的聯(lián)合創(chuàng)始人,同時(shí)還是一家提供云端視頻監(jiān)控服務(wù)的公司的首席科學(xué)家。他與別人合著了Object-oriented Software Enginieering一書,由McGraw-Hill于2011年出版。

書籍目錄

第1章接觸圖像 1.1引 言 1.2安裝OpenCV庫 1.3使用MS Visual c++創(chuàng)建OpenCV工程 1.4使用Qt創(chuàng)建OpenCV項(xiàng)目 1.5載入、顯示及保存圖像 1.6使用Qt創(chuàng)建GUI應(yīng)用 第2章操作像素 2.1引 言 2.2存取像素值 2.3使用指針遍歷圖像 2.4使用迭代器遍歷圖像 2.5編寫高效的圖像遍歷循環(huán) 2.6遍歷圖像和鄰域操作 2.7進(jìn)行簡單的圖像算術(shù) 2.8定義感興趣區(qū)域 第3章基于類的圖像處理 3.1引 言 3.2在算法設(shè)計(jì)中使用策略(Strategy)模式 3.3使用控制器(Controller)實(shí)現(xiàn)模塊間通信 3.4使用單件(Singleton)設(shè)計(jì)模式 3.5使用模型—視圖—控制器(Model—View—Controller)架構(gòu)設(shè)計(jì)應(yīng)用程序 3.6顏色空間轉(zhuǎn)換 第4章使用直方圖統(tǒng)計(jì)像素 4.1引言 4.2計(jì)算圖像的直方圖 4.3使用查找表修改圖像外觀 4.4直方圖均衡化 4.5反投影直方圖以檢測特定的圖像內(nèi)容 4.6使用均值漂移(Mean Shift)算法查找物體 4.7通過比較直方圖檢索相似圖片 第5章基于形態(tài)學(xué)運(yùn)算的圖像變換 5.1引 言 5.2使用形態(tài)學(xué)濾波對圖像進(jìn)行腐蝕、膨脹運(yùn)算 5.3使用形態(tài)學(xué)濾波對圖像進(jìn)行開閉運(yùn)算 5.4使用形態(tài)學(xué)濾波對圖像進(jìn)行邊緣及角點(diǎn)檢測 5.5使用分水嶺算法對圖像進(jìn)行分割 5.6使用GrabCut算法提取前景物體 第6章圖像濾波 6.1引言 6.2使用低通濾波器 6.3使用中值濾波器 6.4使用方向?yàn)V波器檢測邊緣 6.5計(jì)算圖像的拉普拉斯變換 第7章提取直線、輪廓及連通區(qū)域 7.1引言 7.2使用Canny算子檢測輪廓 7.3使用霍夫變換檢測直線 7.4用直線擬合一組點(diǎn) 7.5提取連通區(qū)域的輪廓 7.6計(jì)算連通區(qū)域的形狀描述符 第8章檢測并匹配興趣點(diǎn) 8.1引 言 8.2檢測lJHarris角點(diǎn) 8.3檢澳IJFAST特征 8.4檢測尺度不變的SURF特征 8.5描述SuRF特征 第9章估算圖像問的投影關(guān)系 9.1引言 9.2相機(jī)標(biāo)定 9.3計(jì)算一對圖像的基礎(chǔ)矩陣 9.4使用隨機(jī)采樣一致算法(RANSAC)進(jìn)行圖像匹配 9.5計(jì)算兩幅圖之間的單應(yīng)矩陣 第10章處理視頻序列 10.1引言 10.2讀取視頻序列 10.3處理視頻幀 10.4寫入視頻序列 10.5跟蹤視頻中的特征點(diǎn) 10.6提取視頻中的前景物休

章節(jié)摘錄

版權(quán)頁:   插圖:   作用原理 在之前的秘訣中,我們學(xué)習(xí)到能夠從一組特征點(diǎn)的匹配中估算出與兩幅圖像相關(guān)的基礎(chǔ)矩陣。精確地說,這組匹配僅包含高質(zhì)量的匹配。然而,在實(shí)際應(yīng)用中,很難保證通過比較特征點(diǎn)描述子得到的匹配集是完全相同的。因此我們將使用RANSAC(RANdom SAmpling Consensus)策略來進(jìn)行基礎(chǔ)矩陣的估算。 RANSAC算法的目的是從包含異常值的數(shù)據(jù)集中估算出給定的數(shù)學(xué)元素?;驹硎请S機(jī)地選取一些數(shù)據(jù)點(diǎn),并且僅用它們來進(jìn)行估算。選擇的數(shù)據(jù)點(diǎn)的個(gè)數(shù)應(yīng)當(dāng)是可用于進(jìn)行估算的最小數(shù)。對于基礎(chǔ)矩陣而言,8個(gè)匹配是最小數(shù)(事實(shí)上可以是7,但是8個(gè)點(diǎn)的線性算法計(jì)算更迅速)。一旦從這隨機(jī)的8個(gè)匹配中算出基礎(chǔ)矩陣,集合中所有剩下的匹配都將與矩陣對應(yīng)的極性約束進(jìn)行測試。我們找到所有滿足該約束的匹配,它們對應(yīng)的特征非??拷鼧O線。這些匹配組成了這個(gè)基礎(chǔ)矩陣的支持集合。 RANSAC算法背后最主要的想法是支持集合越大,得到正確矩陣的可能性就越大。顯而易見的,如果一個(gè)(或多個(gè))隨機(jī)選擇的匹配是錯(cuò)誤的,那么得到的基礎(chǔ)矩陣也是錯(cuò)誤的,于是它的支持集合應(yīng)當(dāng)很小。這個(gè)過程會重復(fù)數(shù)次,最后我們保留最大支持集合的矩陣作為最合適的。 因此,我們的目標(biāo)是多次隨機(jī)挑選8個(gè)匹配,最終能夠得到8個(gè)足夠好的匹配提供我們一個(gè)較大支持集合。根據(jù)完整數(shù)據(jù)集中錯(cuò)誤匹配的個(gè)數(shù),挑選到8個(gè)正確數(shù)據(jù)的概率會不同。然而我們值得挑選的次數(shù)越多,我們從中得到至少一個(gè)優(yōu)質(zhì)匹配集合的概率就越大。更精確地,如果假設(shè)集合包含n%正確值,那么同時(shí)選中8個(gè)正確匹配的概率是8n。因此,包含至少一個(gè)錯(cuò)誤匹配的概率是(1—8n)。如果我們挑選k次,至少出現(xiàn)一次包含8個(gè)正確結(jié)果的概率是1—(1—8n)k。這便是置信概率C,我們希望它盡可能地高。因此,當(dāng)運(yùn)行RANSAC算法時(shí),我們需要確定k的數(shù)量以得到給定的置信等級。 在CV::findFundamentalMat函數(shù)中使用RANSAC算法時(shí),需要提供兩個(gè)額外的參數(shù)。第一個(gè)是置信等級,它決定迭代的次數(shù)。第二個(gè)是歸類為正確的點(diǎn)離極線的最大距離。因此,該函數(shù)返回一個(gè)字符類型的std::vector,標(biāo)志著對應(yīng)的匹配被識別為outlier(0)還是inlier(1)。 初始數(shù)據(jù)集中優(yōu)質(zhì)匹配的數(shù)量越大,RANSAC給出正確基礎(chǔ)矩陣的概率也越高。因此我們在調(diào)用CV::findFundamentalMat之前便對數(shù)據(jù)集使用了多個(gè)濾波器。當(dāng)然,你可以選擇跳過其中的一些步驟。這僅僅是如何在計(jì)算復(fù)雜性、最終匹配數(shù)目以及所需的置信等級之間進(jìn)行平衡的問題。

編輯推薦

《OpenCV2計(jì)算機(jī)視覺編程手冊》是一本循序漸進(jìn)的計(jì)算機(jī)視覺指導(dǎo)手冊,給予OpenCV2代碼庫中包含高級特性的C++接口?!禣penCV2計(jì)算機(jī)視覺編程手冊》介紹了OpenCV2中眾多的視覺算法。你將學(xué)會如何讀、寫、創(chuàng)建及操作圖像,領(lǐng)略圖像分析中常用的技術(shù),并了解如何使用C++高效實(shí)現(xiàn)。cvchina.info推薦,計(jì)算機(jī)視覺編程領(lǐng)域的最新力作,50個(gè)秘訣,讓你輕松進(jìn)階。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    OpenCV2計(jì)算機(jī)視覺編程手冊 PDF格式下載


用戶評論 (總計(jì)12條)

 
 

  •   印刷質(zhì)量不錯(cuò),但翻譯者不負(fù)責(zé)任,錯(cuò)誤百出,句子顛三倒四,連錯(cuò)別字也很多,真服了
  •   個(gè)人認(rèn)為此書適合有一定opencv和c++基礎(chǔ)的人看。此書內(nèi)容較少,只是選擇了幾個(gè)面進(jìn)行講解,內(nèi)容詳盡程度和深度都不及《學(xué)習(xí)opencv》。但是,對于用慣了C風(fēng)格的人來說,此書也還是值得一看。
  •   大多是C++接口,初學(xué)者建議買《學(xué)習(xí)opencv》
  •   書還不錯(cuò),就是前面建QT工程教學(xué) 不夠詳細(xì),搞了很長時(shí)間
  •   對于入門來說還行。。。。。。。。。。。。。。
  •   4.3節(jié)開始比google翻譯的還爛,翻譯不負(fù)責(zé)任定價(jià)倒不含糊。
  •   嗯 很好的一本學(xué)習(xí)opencv的書籍 值得入手
  •   書是幫同學(xué)買的,他看了覺得還不錯(cuò),那我也就放心了。。。
  •   實(shí)例較少,理論東西還好
  •   比較實(shí)用的書,尤其建議初學(xué)者實(shí)用
  •   印刷和紙都一般,挺薄的不值定價(jià)
  •   屎一樣的書,完全就是坑錢的,薄薄的一本,還是2010的
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7