C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測

C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

成都創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元五華做網(wǎng)站,已為上家服務(wù),為五華各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

 

霍夫變換

霍夫變換是圖像處理中從圖像中識(shí)別幾何形狀的基本方法之一,應(yīng)用很廣泛,也有很多改進(jìn)算法。主要用來從圖像中分離出具有某種相同特征的幾何形狀(如,直線,圓等)。最基本的霍夫變換是從黑白圖像中檢測直線(線段)。

以直線檢測為例,每個(gè)像素坐標(biāo)點(diǎn)經(jīng)過變換都變成都直線特質(zhì)有貢獻(xiàn)的統(tǒng)一度量,一個(gè)簡單的例子如下:一條直線在圖像中是一系列離散點(diǎn)的集合,通過一個(gè)直線的離散極坐標(biāo)公式,可以表達(dá)出直線的離散點(diǎn)幾何等式如下:

C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測

X *cos(theta) + y * sin(theta)  = r 其中角度theta指r與X軸之間的夾角,r為到直線幾何垂

直距離。任何在直線上點(diǎn),x, y都可以表達(dá),其中 r, theta是常量。該公式圖形表示如下:

然而在實(shí)現(xiàn)的圖像處理領(lǐng)域,圖像的像素坐標(biāo)P(x, y)是已知的,而r, theta則是我們要尋找的變量。如果我們能繪制每個(gè)(r, theta)值根據(jù)像素點(diǎn)坐標(biāo)P(x, y)值的話,那么就從圖像笛卡爾坐標(biāo)系統(tǒng)轉(zhuǎn)換到極坐標(biāo)霍夫空間系統(tǒng),這種從點(diǎn)到曲線的變換稱為直線的霍夫變換。變換通過量化霍夫參數(shù)空間為有限個(gè)值間隔等分或者累加格子。當(dāng)霍夫變換算法開始,每個(gè)像素坐標(biāo)點(diǎn)P(x, y)被轉(zhuǎn)換到(r, theta)的曲線點(diǎn)上面,累加到對應(yīng)的格子數(shù)據(jù)點(diǎn),當(dāng)一個(gè)波峰出現(xiàn)時(shí)候,說明有直線存在。同樣的原理,我們可以用來檢測圓,只是對于圓的參數(shù)方程變?yōu)槿?/p>

下等式:

(x –a ) ^2 + (y-b) ^ 2 = r^2其中(a, b)為圓的中心點(diǎn)坐標(biāo),r圓的半徑。這樣霍夫的參數(shù)空間就變成一個(gè)三維參數(shù)空間。給定圓半徑轉(zhuǎn)為二維霍夫參數(shù)空間,變換相對簡單,也比較常用。

相關(guān)API

C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測

C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測

C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測

代碼演示

新建一個(gè)項(xiàng)目opencv-0017,配置屬性(VS2017配置OpenCV通用屬性),然后在源文件寫入#include和main方法

C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測

開始做霍夫直接檢測的編碼

C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測

C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測

關(guān)于C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

網(wǎng)站欄目:C++中怎么利用OpenCV實(shí)現(xiàn)直線檢測
本文鏈接:http://muchs.cn/article10/ijojdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、建站公司、App開發(fā)小程序開發(fā)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司