最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV霍夫圓變換cv2.HoughCircles()

 更新時(shí)間:2021年07月28日 15:53:02   作者:程序媛一枚~  
這篇博客將學(xué)習(xí)如何使用霍夫圓變換在圖像中找到圓圈,OpenCV使用cv2.HoughCircles()實(shí)現(xiàn)霍夫圓變換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

這篇博客將學(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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決使用pycharm提交代碼時(shí)沖突之后文件丟失找回的方法

    解決使用pycharm提交代碼時(shí)沖突之后文件丟失找回的方法

    這篇文章主要介紹了解決使用pycharm提交代碼時(shí)沖突之后文件丟失找回的方法 ,需要的朋友可以參考下
    2018-08-08
  • 對(duì)Tensorflow中的變量初始化函數(shù)詳解

    對(duì)Tensorflow中的變量初始化函數(shù)詳解

    今天小編就為大家分享一篇對(duì)Tensorflow中的變量初始化函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python性能調(diào)優(yōu)的十個(gè)小技巧總結(jié)

    Python性能調(diào)優(yōu)的十個(gè)小技巧總結(jié)

    大家好,今天這篇文章關(guān)于Python性能調(diào)優(yōu)的10個(gè)小技巧,每天花5-10分鐘閱讀我的文章,對(duì)你技術(shù)提升一定會(huì)有幫助。喜歡記得收藏以防迷路
    2021-11-11
  • 如何使用Python編寫(xiě)測(cè)試腳本

    如何使用Python編寫(xiě)測(cè)試腳本

    這篇文章主要為大家詳細(xì)介紹了Python如何通過(guò)PyCAN和CANard庫(kù)實(shí)現(xiàn)編寫(xiě)測(cè)試腳本,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • django中模板的html自動(dòng)轉(zhuǎn)意方法

    django中模板的html自動(dòng)轉(zhuǎn)意方法

    今天小編就為大家分享一篇django中模板的html自動(dòng)轉(zhuǎn)意方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 詳解Django admin高級(jí)用法

    詳解Django admin高級(jí)用法

    這篇文章主要介紹了Django admin高級(jí)用法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • pytorch 可視化feature map的示例代碼

    pytorch 可視化feature map的示例代碼

    今天小編就為大家分享一篇pytorch 可視化feature map的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python實(shí)現(xiàn)學(xué)校管理系統(tǒng)

    Python實(shí)現(xiàn)學(xué)校管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)學(xué)校管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 基于OpenMV的圖像識(shí)別之?dāng)?shù)字識(shí)別功能

    基于OpenMV的圖像識(shí)別之?dāng)?shù)字識(shí)別功能

    OpenMV是一個(gè)開(kāi)源,低成本,功能強(qiáng)大的機(jī)器視覺(jué)模塊。以STM32F427CPU為核心,集成了OV7725攝像頭芯片,在小巧的硬件模塊上,用C語(yǔ)言高效地實(shí)現(xiàn)了核心機(jī)器視覺(jué)算法,提供Python編程接口,對(duì)OpenMV的圖像識(shí)別之?dāng)?shù)字識(shí)別相關(guān)知識(shí)感興趣的朋友一起看看吧
    2021-11-11
  • python 日志模塊logging的使用場(chǎng)景及示例

    python 日志模塊logging的使用場(chǎng)景及示例

    這篇文章主要介紹了python 日志模塊logging的使用場(chǎng)景及示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01

最新評(píng)論

华安县| 澄江县| 神农架林区| 灵宝市| 江北区| 新津县| 大洼县| 进贤县| 大洼县| 安宁市| 福州市| 格尔木市| 双柏县| 雷州市| 皋兰县| 宁远县| 巴林右旗| 安宁市| 南木林县| 眉山市| 泽普县| 兰考县| 泸西县| 成武县| 景东| 榆社县| 泗洪县| 滦平县| 余姚市| 巴南区| 牟定县| 洪洞县| 永定县| 苍山县| 富阳市| 叙永县| 宿松县| 普定县| 澜沧| 黄冈市| 凤台县|