日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV中霍夫直线变换

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV中霍夫直线变换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenCV中霍夫直線變換

首先要知道,一條直線的通用表達式為y=ax+b\color{#F00}y=ax+by=ax+b,a為直線的斜率,b為直線的截距,知道這兩個參數可以唯一確定一條直線。通常我們往常我們求三個點,是否在一條直線上,我們讓其兩兩組合分別求斜率和截距,如果一樣,我們則說三個點在同一條直線。但是現在在我們的圖像中無法使用這樣的方法。
y=kx+b\color{#f00}y=kx+by=kx+b在x-y坐標系中變換為b=?xk+y\color{#f00}b=-xk+yb=?xk+y,則在k-b坐標系中交于一點,則有相同的k和b,所以在x-y坐標系中處于同一條直線上。同樣的道理在霍夫變換采用將直線變為極坐標,因為直線坐標的話可能會存在直線不存在的情況。
x=ρcosθandy=ρsinθ\color{#f00}x=\rho cos\theta \quad and \quad y=\rho sin\theta x=ρcosθandy=ρsinθ
y=(?cosθsinθ)x+(rsinθ)\color{#f00}y=(-\frac{cos\theta}{sin\theta})x+(\frac{r}{sin\theta})y=(?sinθcosθ?)x+(sinθr?)
最終我們將原式轉化為r=xcosθ+ysinθ\color{#f00}r=xcos\theta+ysin\thetar=xcosθ+ysinθ這樣的形式。
下面就說說這樣的形式有什么用?
根據上式:
r0=x0cosθ+y0sinθr_0= x_0cos\theta + y_0sin\thetar0?=x0?cosθ+y0?sinθ
............
ri=xicosθ+yisinθr_i = x_icos\theta + y_isin\thetari?=xi?cosθ+yi?sinθ
選中(x0,y0)(x_0,y_0)(x0?,y0?)在該點計算θ從1?180的直線到(0,0)的距離,從而繪制出θ?r的圖像\theta{從1-180的直線到(0,0)的距離,從而繪制出}\theta-r的圖像θ1?180(00)θ?r如下圖:
同樣的,我們再選取(xi,yi)(x_i,y_i)(xi?,yi?)點執行相同的操作,又可以得到一條曲線。這樣我們我們選取i個點就得到了i條曲線,如下圖:

當多條直線有交點時,就證明(xn,yn)和(xm,ym)(x_n,y_n){和}(x_m,y_m)(xn?,yn?)(xm?,ym?)在相同的θ\thetaθ時擁有相同的r,在上述的式子中可以知道,當這兩個值相同時,這兩個點在同一條直線上。那么當有若干條曲線交于一點,那么這若干個點都在一條直線上。

上述敘述了在數學鄰域的計算推導,那么如何應用與圖像中呢?
我們知道一幅圖像可以看成一個大的矩陣,而霍夫直線檢測一般應用于邊緣檢測之后,所以一般都是灰度圖。從而我們可以將圖像看成下面這個樣子。
[x00…x0i………xi0…xii]\begin{bmatrix}x_{00}&\ldots&x_{0i}\\ \ldots&\ldots&\ldots \\ x_{i0}&\ldots&x_{ii}\end{bmatrix}???x00?xi0???x0i?xii?????

具體的如何利用圖像像素來進行上述原理的實現,不是很清楚,我搜了一下,也沒有注意到。但是我有一種猜測,因為要進行霍夫變換的都是邊緣檢測后的二值圖像,所以在進行霍夫變換時,只對邊緣信息的像素的進行上述的處理。具體內部實現,未知。

HoughLinesP(輸入圖像,8位,單通道輸出包含四個元素的vector,(x1,y1,x2,y2)兩個直線端點像素最小單位,角度最小單位,極坐標中交點個數,最小長度,兩個點之間最大的間距,如果小于,則連接視為同一條直線。 ); #include "opencv2/opencv.hpp" #include <vector>using namespace std; using namespace cv;int main(int argc, char *argv[]) {Mat src,dst;src = imread("/home/dynamicw/Project/C++_Project/opencvtest/src/lesson01/source/white_black.png",0);Canny(src,dst,50,200,3);cvtColor(dst,src,CV_GRAY2BGR);vector<Vec4i> lines;HoughLinesP(dst,lines,1,CV_PI/180,30,3,5);for (size_t i = 0;i < lines.size();i++){Vec4i l = lines[i];line(src,Point(l[0],l[1]),Point(l[2],l[3]),Scalar(0,0,255),3,CV_AA);}imshow("src",src);waitKey(0);return 0; }

總結

以上是生活随笔為你收集整理的OpenCV中霍夫直线变换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 女同一区二区三区 | 亚洲激情网站 | 日韩成人综合网 | 在线免费视频 | 俄罗斯毛片基地 | 理论片一区 | 国产精品久久久午夜夜伦鲁鲁 | xxxxwwww在线观看 | 波多野结衣免费在线视频 | 永久视频在线 | 国产精品12页 | 欧美综合另类 | 用力抵着尿进去了h | 日本一区二区三区视频在线播放 | 欧美精品第二页 | 欧美一级特黄视频 | 精品av一区二区 | 久久久久久久影视 | 蜜臀av在线观看 | 欧美福利电影 | 色干干 | 国产无套精品一区二区三区 | 中文字幕日韩一区二区 | 欧美草b | 97人妻精品一区二区三区免费 | 亚洲天堂系列 | 玖草在线观看 | 日韩淫片 | 夜夜爱爱 | 成人爱爱免费视频 | 欧美成人手机在线视频 | 天天激情 | 久久曰视频 | 美女流白浆视频 | 在线观看视频亚洲 | 国产精品美女 | 欧美成人片在线 | 琪琪电影午夜理论片八戒八戒 | 色综合久久久久 | 香蕉视频国产在线观看 | 欧美巨乳美女 | 爱爱视频在线免费观看 | 午夜福利视频合集1000 | 上海女子图鉴 | 欧美亚洲一二三区 | 色五夜 | 色乱码一区二区三区网站 | 日韩无码精品一区二区三区 | 四虎精品在线播放 | 狠狠干狠狠爱 | 草久久久 | 欧美自拍偷拍一区二区 | 宅男视频污 | 中文字幕在线资源 | 91性视频 | 欧美精品一区二区三区久久久 | 欧美变态绿帽cuckold | 欧美日韩免费做爰视频 | 亚洲视频天天射 | 桃色一区二区三区 | 亚洲综合另类 | 毛毛毛片| 人人看人人爽 | 金鱼妻日剧免费观看完整版全集 | 日韩色在线观看 | 黄色免费一级片 | 丁香六月婷婷激情 | 久久99网| 久久一本综合 | 性欧美熟妇videofreesex | 亚洲六月丁香色婷婷综合久久 | 午夜寂寞少妇 | 国产免费一区二区三区三州老师 | 国产亚洲女人久久久久毛片 | 91成人国产综合久久精品 | 96免费视频 | 久久综合色网 | 51福利视频 | 亚洲熟妇无码另类久久久 | 狠狠操网站 | 久久三级网站 | 成人污 | 中文字幕乱码人妻一区二区三区 | 国产黄色一级片 | 久久只有这里有精品 | 曰韩毛片 | 视频一区二区国产 | 乳孔很大能进去的av番号 | 国产精品久久久久久久久久免费 | 五月婷婷一区二区三区 | 成人av片在线观看 | 毛片资源| 日韩电影在线观看一区二区 | 特黄级| 五月天婷婷综合 | 成人在线免费观看视频 | 北条麻妃在线一区二区 | 午夜嘿嘿嘿| 国产成人在线看 |