<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
核心要點:影象座標空間、引數空間、極座標引數空間 -> (極座標)引數空間表決
給定一個點,我們一般會寫成y=ax+b的形式,這是座標空間的寫法;我們也可以寫成b=-xa+y的形式,這是引數空間的寫法。也就是說,給定一個點,那麼經過該點的直線的引數必然滿足b=-xa+y這一條件,也就是必然在引數空間中b=-xa+y這條直線上。如果給定兩個點,那麼這兩點確定的唯一的直線的引數,就是引數空間中兩條引數直線的交點。
由於上述寫法不適合處理水平或垂直的直線,我們可以使用極座標的形式描述直線,即ρ=xcosθ+ysinθ,其中ρ是從原點到直線的垂直距離,θ是由這條垂直線和水平軸形成的角度(以逆時針方向測量),
如下圖所示:
因此,任何垂直線θ=0,水平線θ=90°。那麼極座標引數空間中的曲線交點就是由兩個點確定的一條直線,如下圖所示。
現在讓我們看看Hough變換是如何處理直線的。任何一條線都可以用這兩個引數來表示(ρ,θ)。
列舉完成所有點之後,累加器中值最大的(若干個)引數組合(ρ,θ)就是經過點最多的(若干條)直線,如下圖所示,兩條直線對應累加器中最亮的兩個點。
總的來說,對於多個點,我們可以用(離散)引數空間表決的方法,記錄每個點對應的允許的引數組合,求得那些被允許次數最多的引數組合,就是最多點經過的直線。
在影象矯正任務中,我們經過Canny運算元檢測出了若干邊緣點,這些點主要集中在四個邊界上,因此我們只需要使用Hough直線檢測,求出四條直線,就能確定四個邊界。
cv.HoughLines()封裝了上述步驟,該函數原型為:
cv.HoughLines(image, rho, theta, threshold[, lines[, srn[, stn[, min_theta[, max_theta]]]]]) -> lines
引數:
下面是具體程式碼:
def hough_detect(image_path): # 讀取影象並轉換為灰度影象 image = cv2.imread(image_path) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 使用Canny運算元檢測邊緣 edges = canny_detect(image_path, False) # 使用Hough檢測直線 lines = cv2.HoughLines(edges, 1, np.pi/180, 200) # 繪製直線 for line in lines: rho, theta = line[0] a = np.cos(theta) b = np.sin(theta) x0 = a * rho y0 = b * rho x1 = int(x0 + 1000*(-b)) y1 = int(y0 + 1000*(a)) x2 = int(x0 - 1000*(-b)) y2 = int(y0 - 1000*(a)) cv2.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2) cv2.imshow('line,jpg', image) cv2.waitKey() hough_detect('images/2.jpeg')
效果:
後面需要調整一下超引數。
到此這篇關於Python OpenCV Hough直線檢測演演算法的原理實現的文章就介紹到這了,更多相關Python OpenCV Hough 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45