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

Python?opencv進(jìn)行圓形識(shí)別(圓檢測(cè))實(shí)例代碼

 更新時(shí)間:2023年05月12日 11:06:02   作者:老李的森林  
最近工作的項(xiàng)目上需要檢測(cè)圖像中是否有圓形,下面這篇文章主要給大家介紹了關(guān)于Python?opencv進(jìn)行圓形識(shí)別(圓檢測(cè))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

圓形識(shí)別(圓檢測(cè))是圖像識(shí)別中很常見(jiàn)的一種處理方式,最核心的是cv2.HoughCircles這個(gè)函數(shù)實(shí)現(xiàn)的圓形檢測(cè)。當(dāng)然還有一些其他的處理過(guò)程,以下詳述:

1 讀入圖像

首先需要讀取一個(gè)圖像文件,將其作為一個(gè)變量

img = cv2.imread("save1.jpg", 0)     # 0或者cv2.IMREAD_GRAYSCALE  讀取為灰度圖像
img2 = cv2.imread("save1.jpg", 1)     # 1或者cv2.IMREAD_COLOR 讀取為為彩色圖像

img是一個(gè)ndarray,2維結(jié)構(gòu),包含的是灰度化后的圖像信息

img2是一個(gè)ndarray,3維結(jié)構(gòu),包含的是RGB彩色圖像信息,比img2多出一個(gè)色彩維度

如下圖,img2是3個(gè)方括號(hào)“[”

2 圖像預(yù)處理

可以對(duì)圖像進(jìn)行裁切,濾波等處理,當(dāng)然不處理也可以直接用,以下展示一下:

裁切

size = 400
x1 = 560
y1 = 200
x2 = x1+size
y2 = y1+size
cut = img[y1:y2, x1:x2]

濾波加二值化

numpy_img = cv2.adaptiveThreshold(cut, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 15)   # 自動(dòng)閾值二值化

顯示中間處理過(guò)程

有時(shí)候我們需要直觀的看到中間處理過(guò)程的圖像樣貌,可以隨時(shí)顯示

cv2.imshow("img", img)
cv2.imshow("cut", cut)
cv2.imshow("numpy_img", numpy_img)
cv2.waitKey(0)

注意imshow函數(shù),第一個(gè)參數(shù)是要顯示的窗口的標(biāo)題,不得用中文和中文標(biāo)點(diǎn),必須全英文,否則會(huì)亂碼,第2個(gè)參數(shù)是待顯示的圖像變量
最后一行可以沒(méi)有,如果有的話(huà),程序會(huì)在此等待,直到有按鍵動(dòng)作,程序才繼續(xù)往后運(yùn)行。這對(duì)我們調(diào)試比較有用。

3 圓形識(shí)別

#                                                      圓心距 canny閾值    投票數(shù)      最小半徑       最大半徑
circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1, 170,   param1=100, param2=60,  minRadius=60, maxRadius=90)

大概講一下重要的幾個(gè)參數(shù),參數(shù)與實(shí)際的圖像尺寸相關(guān),不是一個(gè)參數(shù)用所有的圖

圓心距:170 圓心距小于此值的圓不檢測(cè),以減小計(jì)算量

canny閾值:圖像二值化的參數(shù),根據(jù)實(shí)際情況調(diào)整

投票數(shù):一個(gè)圓需要至少包含多少個(gè)點(diǎn),才認(rèn)為這是一個(gè)圓

最小半徑,最大半徑:在此值之間的圓才是需要的圓,超過(guò)范圍不檢測(cè),以減小計(jì)算量

檢測(cè)完的結(jié)果保存在circles 中

可以自己調(diào)整參數(shù)以觀察結(jié)果

4 顯示檢測(cè)結(jié)果

沒(méi)啥好說(shuō)的,代碼很簡(jiǎn)單,就是對(duì)于每個(gè)結(jié)果畫(huà)出圓和圓心

arr1 = np.zeros([0, 2], dtype=int)                      # 創(chuàng)建一個(gè)0行, 2列的空數(shù)組
if circles is not None:
    circles = np.uint16(np.around(circles))   # 4舍5入, 然后轉(zhuǎn)為uint16
    for i in circles[0, :]:
        arr1 = np.append(arr1, (i[0], i[1]))            # arr1是圓心坐標(biāo)的np數(shù)組
        # print(arr1)
        cv2.circle(img2, (i[0], i[1]), i[2], (0, 0, 255), 3)  # 輪廓
        cv2.circle(img2, (i[0], i[1]), 2, (0, 0, 0), 6)     # 圓心

5 完整代碼和示例圖像

可以在這里下載:示例代碼下載

總結(jié)

到此這篇關(guān)于Python opencv進(jìn)行圓形識(shí)別(圓檢測(cè))的文章就介紹到這了,更多相關(guān)opencv圓形識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python數(shù)據(jù)分析繪圖可視化

    python數(shù)據(jù)分析繪圖可視化

    這篇文章主要介紹了python數(shù)據(jù)分析繪圖可視化,數(shù)據(jù)可視化旨在直觀展示信息的分析結(jié)果和構(gòu)思,令某些抽象數(shù)據(jù)具象化,這些抽象數(shù)據(jù)包括數(shù)據(jù)測(cè)量單位的性質(zhì)或數(shù)量
    2022-06-06
  • Python中八大圖像特效算法的示例詳解

    Python中八大圖像特效算法的示例詳解

    圖像特效處理是基于圖像像素?cái)?shù)據(jù)特征,將原圖像進(jìn)行一定步驟的計(jì)算——例如像素作差、灰度變換、顏色通道融合等,從而達(dá)到期望的效果。本文將為大家介紹八種常用的圖像特效算法,需要的可以參考一下
    2022-03-03
  • Python中返回字典鍵的值的values()方法使用

    Python中返回字典鍵的值的values()方法使用

    這篇文章主要介紹了Python中返回字典鍵的值的values()方法使用,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • python實(shí)現(xiàn)文件快照加密保護(hù)的方法

    python實(shí)現(xiàn)文件快照加密保護(hù)的方法

    這篇文章主要介紹了python實(shí)現(xiàn)文件快照加密保護(hù)的方法,涉及Python文件加密的技巧,可有效防止文件被篡改,需要的朋友可以參考下
    2015-06-06
  • django 修改server端口號(hào)的方法

    django 修改server端口號(hào)的方法

    今天小編就為大家分享一篇django 修改server端口號(hào)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python?Flask?+?Redis?程序練習(xí)

    Python?Flask?+?Redis?程序練習(xí)

    這篇文章主要給大家分享Python?Flask?+?Redis?程序的練習(xí),準(zhǔn)備一個(gè)Python文件,名字為?app.py?提供一個(gè)web服務(wù),可以訪問(wèn)地址,返回一個(gè)Hello?Container?World!并且記錄訪問(wèn)的次數(shù),下面來(lái)看看有趣的練習(xí)過(guò)程吧
    2022-01-01
  • 淺析Python模塊之間的相互引用問(wèn)題

    淺析Python模塊之間的相互引用問(wèn)題

    這篇文章主要介紹了Python模塊之間的相互引用問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Python異步爬蟲(chóng)多線(xiàn)程與線(xiàn)程池示例詳解

    Python異步爬蟲(chóng)多線(xiàn)程與線(xiàn)程池示例詳解

    這篇文章主要為大家介紹了Python異步爬蟲(chóng)多線(xiàn)程與線(xiàn)程池示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-09-09
  • 利用python實(shí)現(xiàn)短信和電話(huà)提醒功能的例子

    利用python實(shí)現(xiàn)短信和電話(huà)提醒功能的例子

    今天小編就為大家分享一篇利用python實(shí)現(xiàn)短信和電話(huà)提醒功能的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • pytorch 加載(.pth)格式的模型實(shí)例

    pytorch 加載(.pth)格式的模型實(shí)例

    今天小編就為大家分享一篇pytorch 加載(.pth)格式的模型實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08

最新評(píng)論

射洪县| 五河县| 丹阳市| 新乡市| 衡阳县| 特克斯县| 景泰县| 芜湖县| 郁南县| 石家庄市| 阿尔山市| 南川市| 个旧市| 合作市| 沂水县| 叙永县| 兴仁县| 石渠县| 策勒县| 调兵山市| 通河县| 汽车| 阿克陶县| 定襄县| 定州市| 乌拉特前旗| 温宿县| 郴州市| 甘南县| 攀枝花市| 阳江市| 大同市| 延长县| 苏州市| 陇西县| 白朗县| 丰县| 楚雄市| 德惠市| 昌都县| 临猗县|