婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > OpenCV霍夫圓變換cv2.HoughCircles()

OpenCV霍夫圓變換cv2.HoughCircles()

熱門(mén)標(biāo)簽:西青語(yǔ)音電銷(xiāo)機(jī)器人哪家好 成都呼叫中心外呼系統(tǒng)哪家強(qiáng) 電梯新時(shí)達(dá)系統(tǒng)外呼顯示e 百應(yīng)電話機(jī)器人總部 地圖標(biāo)注與注銷(xiāo) 南昌地圖標(biāo)注 無(wú)錫智能外呼系統(tǒng)好用嗎 宿州電話機(jī)器人哪家好 旅游廁所地圖標(biāo)注怎么弄

這篇博客將學(xué)習(xí)如何使用霍夫圓變換在圖像中找到圓圈,OpenCV使用cv2.HoughCircles()實(shí)現(xiàn)霍夫圓變換。

circles = cv2.HoughCircles(img,
cv2.HOUGH_GRADIENT, 1, 20,
param1=50, param2=40, minRadius=25, maxRadius=0)

img: 待檢測(cè)的灰度圖cv2.HOUGH_GRADIENT:檢測(cè)的方法,霍夫梯度1:檢測(cè)的圓與原始圖像具有相同的大小,dp=2,檢測(cè)的圓是原始圖像的一半20:檢測(cè)到的相鄰圓的中心的最小距離(如果參數(shù)太小,除了一個(gè)真實(shí)的圓外,還可能會(huì)錯(cuò)誤地檢測(cè)到多個(gè)相鄰圓。如果太大,可能會(huì)漏掉一些圓。)param1:在#HOUGHŠu梯度的情況下,它是較高的. 兩個(gè)閾值傳遞到Canny邊緣檢測(cè)器(較低的一個(gè)小兩倍)。param2:在#HOUGHŠu梯度的情況下,它是檢測(cè)階段圓心的累加器閾值。它越小,就越可能檢測(cè)到假圓;minRadius:最小圓半徑maxRadius:最大圓半徑,如果=0,則使用最大圖像尺寸。如果0,則返回沒(méi)有找到半徑的中心。

1. 效果圖

原始圖 VS 檢測(cè)圓效果圖如下:

如下右圖可以看到3個(gè)外側(cè)圓綠色,圓心紅色被成功檢測(cè)到;

圓的最小半徑設(shè)置由25調(diào)整為10,也可能會(huì)錯(cuò)誤的檢測(cè)到圓,效果圖如下:

檢測(cè)圓半徑的閾值(param2設(shè)置35)的結(jié)果,最小圓半徑設(shè)置10,也可能會(huì)錯(cuò)誤的檢測(cè)到圓,效果圖如下:

2. 源碼

# 霍夫圓檢測(cè)

import cv2
import numpy as np

cimg = cv2.imread('opencv_logo_350.jpg')
cv2.imshow("origin", cimg)
cv2.waitKey(0)
img = cv2.cvtColor(cimg,cv2.COLOR_BGR2GRAY)
img = cv2.medianBlur(img, 5)
cimg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)

# - img: 待檢測(cè)的灰度圖
# - cv2.HOUGH_GRADIENT:檢測(cè)的方法,霍夫梯度
# - 1:檢測(cè)的圓與原始圖像具有相同的大小,dp=2,檢測(cè)的圓是原始圖像的一半
# - 20:檢測(cè)到的圓的中心的最小距離(如果參數(shù)為太小,除了一個(gè)真實(shí)的圓外,還可能會(huì)錯(cuò)誤地檢測(cè)到多個(gè)相鄰圓。如果太大,可能會(huì)漏掉一些圓。)
# - param1:在#HOUGHŠu梯度的情況下,它是較高的. 兩個(gè)閾值傳遞到Canny邊緣檢測(cè)器(較低的一個(gè)小兩倍)。
# - param2:在#HOUGHŠu梯度的情況下,它是檢測(cè)階段圓心的累加器閾值。它越小,就越可能檢測(cè)到假圓;
# - minRadius:最小圓半徑,也可能會(huì)檢測(cè)到假圓
# - maxRadius:最大圓半徑,如果=0,則使用最大圖像尺寸。如果0,則返回沒(méi)有找到半徑的中心。
circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20,
                           param1=50, param2=40, minRadius=0, maxRadius=0)
# 最小圓半徑設(shè)置不合適,也可能會(huì)檢測(cè)到假圓
# circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20,
#                            param1=50, param2=40, minRadius=0, maxRadius=0)
# circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 20,
#                            param1=50, param2=30, minRadius=10, maxRadius=0)

circles = np.uint16(np.around(circles))

print(len(circles))
print(circles)
for i in circles[0, :]:
    # 繪制外圈圓(藍(lán)色)
    cv2.circle(cimg, (i[0], i[1]), i[2], (0, 255, 0), 2)

    # 繪制圓心(紅色)
    cv2.circle(cimg, (i[0], i[1]), 2, (0, 0, 255), 3)

cv2.imshow('detected circles', cimg)
cv2.waitKey(0)
cv2.destroyAllWindows()

參考

https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_houghcircles/py_houghcircles.html#hough-circles

到此這篇關(guān)于OpenCV霍夫圓變換cv2.HoughCircles()的文章就介紹到這了,更多相關(guān)OpenCV霍夫圓變換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • opencv3/C++實(shí)現(xiàn)霍夫圓/直線檢測(cè)

標(biāo)簽:濰坊 辛集 許昌 七臺(tái)河 贛州 西安 雅安 渭南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《OpenCV霍夫圓變換cv2.HoughCircles()》,本文關(guān)鍵詞  OpenCV,霍夫,圓,變換,cv2.HoughCircles,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《OpenCV霍夫圓變換cv2.HoughCircles()》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于OpenCV霍夫圓變換cv2.HoughCircles()的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 雷波县| 舒兰市| 广安市| 三门峡市| 邢台县| 集贤县| 灵武市| 满洲里市| 玉山县| 余姚市| 抚顺市| 嵊泗县| 新野县| 罗山县| 深州市| 雅江县| 东辽县| 囊谦县| 凤翔县| 陆良县| 修水县| 泰安市| 万盛区| 社旗县| 封丘县| 本溪市| 阿拉善盟| 同江市| 拉萨市| 四子王旗| 济源市| 翁牛特旗| 平江县| 游戏| 长兴县| 尉犁县| 区。| 方正县| 雷波县| 富川| 泉州市|