国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 用opencv實(shí)現(xiàn)霍夫線變換

瀏覽:8日期:2022-07-04 10:00:08

霍夫變換是一種檢測(cè)任何形狀的流行技術(shù),可以檢測(cè)形狀,即使它被破壞或扭曲一點(diǎn)點(diǎn).一條線可以表示成y = mx + c或參數(shù)形式,像ρ=xcosθ+ysinθ,其中ρ是從原點(diǎn)到直線的垂直距離,θ角是由這條垂線和水平軸以逆時(shí)針的方向形成的(這個(gè)方向取決于你如何表示坐標(biāo)系統(tǒng),這種表示法在OpenCV中使用)

python 用opencv實(shí)現(xiàn)霍夫線變換

OpenCV中的Hough變換

cv.HoughLines()第一個(gè)參數(shù),輸入圖像應(yīng)該是一個(gè)二值圖像,因此在應(yīng)用hough變換之前應(yīng)用閾值或使用Canny邊緣檢測(cè).第二和第三個(gè)參數(shù)分別是ρ和θ的精度.第四個(gè)參數(shù)是閾值,這意味著它應(yīng)該被視為一條直線.記住,選票的數(shù)量取決于直線上的點(diǎn)的數(shù)量,所以它表示應(yīng)該檢測(cè)到的最小長(zhǎng)度.

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread(’img.jpg’)gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)edges = cv2.Canny(gray,50,150,apertureSize = 3)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(img,(x1,y1),(x2,y2),(0,0,255),2)cv2.imshow(’show’,img)cv2.waitKey()

python 用opencv實(shí)現(xiàn)霍夫線變換

概率Hough變換

在hough轉(zhuǎn)換中,你可以看到,即使對(duì)于一個(gè)有兩個(gè)參數(shù)的線,它也需要大量的計(jì)算.概率Hough變換是我們所見的Hough變換的一個(gè)優(yōu)化,它并沒(méi)有把所有的要點(diǎn)都考慮進(jìn)去,相反,它只需要一個(gè)隨機(jī)子集,對(duì)行檢測(cè)來(lái)說(shuō)足夠.

cv2.HoughLinesP(image, rho, theta, threshold[, lines[, minLineLength[, maxLineGap]]])

minLineLength:最小長(zhǎng)度的線。比這更短的線段被拒絕了。 maxLineGap:最大限度允許線段之間的間隙把它們當(dāng)作一條線來(lái)對(duì)待

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread(’img.jpg’)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)edges = cv2.Canny(gray, 50, 150, apertureSize=3)lines = cv2.HoughLinesP(edges, 1, np.pi/180,100, minLineLength=100, maxLineGap=10)for line in lines: x1, y1, x2, y2 = line[0] cv2.line(img, (x1, y1), (x2, y2), (0,255,0), 2)cv2.imshow(’show’,img)cv2.waitKey()

python 用opencv實(shí)現(xiàn)霍夫線變換

以上就是python 用opencv實(shí)現(xiàn)霍夫線變換的詳細(xì)內(nèi)容,更多關(guān)于python 實(shí)現(xiàn)霍夫線變換的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 涿州市| 义乌市| 同江市| 通山县| 特克斯县| 交口县| 宁陵县| 青阳县| 什邡市| 察雅县| 泽库县| 信宜市| 黔西县| 中牟县| 遂昌县| 镇安县| 瓮安县| 上饶县| 仙游县| 上杭县| 安溪县| 牙克石市| 茶陵县| 进贤县| 正安县| 山阳县| 五莲县| 东山县| 城市| 张掖市| 福泉市| 淮南市| 天峨县| 平阳县| 吉木萨尔县| 清水县| 江川县| 女性| 隆昌县| 沙河市| 溧水县|