在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分享兩個OpenCV圖像處理與分析的問題

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:gloomyfish ? 2022-08-22 09:40 ? 次閱讀

01

問題一:尋找靶心

cc1f6f48-2156-11ed-ba43-dac502259ad0.jpg

圖一

02

問題二:尋找其中的缺失點

cc2b1a50-2156-11ed-ba43-dac502259ad0.png

圖二

解決方法

01

尋找靶心

仔細觀察圖一,可以看到兩個最直接的是靶心有十字交叉線,而在OpenCV形態學處理中,支持十字交叉結構元素,所以我們可以先檢測兩條線,然后獲取十字交叉結構,最后對結構進行輪廓分析,獲取中心點,即可獲得最終的靶心位置,最終尋找到的靶心位置圖示如下:

cc50fc02-2156-11ed-ba43-dac502259ad0.png

獲取水平與垂直線如下:

cc64914a-2156-11ed-ba43-dac502259ad0.png

獲取十字交叉線如下:

cc734aaa-2156-11ed-ba43-dac502259ad0.png

代碼實現如下:

 1image=cv.imread("D:/images/zsxq/cross.jpg")
 2cv.imshow("input",image)
 3gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY)
 4ret,binary=cv.threshold(gray,0,255,cv.THRESH_OTSU|cv.THRESH_BINARY_INV)
 5se1=cv.getStructuringElement(cv.MORPH_CROSS,(50,1))
 6se2=cv.getStructuringElement(cv.MORPH_CROSS,(1,50))
 7hline=cv.morphologyEx(binary,cv.MORPH_OPEN,se1)
 8vline=cv.morphologyEx(binary,cv.MORPH_OPEN,se2)
 9contours,hireachy=cv.findContours(hline,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE)
10mask=np.zeros_like(hline)
11max=-1
12index=0
13forcntinrange(len(contours)):
14x,y,w,h=cv.boundingRect(contours[cnt])
15ifmax

02

尋找缺失

仔細觀察圖二,缺失是偶發情況,針對這種情況下,要完成計數與缺失位置標定!我感覺我的密集恐懼癥已經開始犯了!首先需要獲取這些位置,通過二值話與輪廓發現搞定,然后根據這些輪廓位置,重新繪制統一的圓形標記,輪廓發現對每個圓形標記進行上下左右位置最近領搜索,返回間隔距離,-1表示邊界,根據間隔距離設置閾值查找缺失,最終運行結果如下:

cc81afd2-2156-11ed-ba43-dac502259ad0.png

從原圖得到的標記圖如下:

cca33f62-2156-11ed-ba43-dac502259ad0.png

代碼實現如下:

 1image=cv.imread("D:/images/zsxq/zsxq_40.png")
 2gray=cv.cvtColor(image,cv.COLOR_BGR2GRAY)
 3ret,binary=cv.threshold(gray,0,255,cv.THRESH_OTSU|cv.THRESH_BINARY_INV)
 4cv.imshow("binary",binary)
 5contours,hireachy=cv.findContours(binary,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE)
 6mask=np.zeros_like(binary)
 7forcntinrange(len(contours)):
 8area=cv.contourArea(contours[cnt])
 9ifarea(binary.shape[0]-10):
13continue
14cx=(x+w//2)
15cy=(y+h//2)
16cv.circle(mask,(cx,cy),4,(255),4,8,0)
17cv.imshow("mask",mask)
18contours,hireachy=cv.findContours(mask,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE)
19forcntinrange(len(contours)):
20x,y,w,h=cv.boundingRect(contours[cnt])
21cx=(x+w//2)
22cy=(y+h//2)
23left=find_neighborhood(mask,cx,cy,1)
24right=find_neighborhood(mask,cx,cy,2)
25#top=find_neighborhood(mask,cx,cy,3)
26#bottom=find_neighborhood(mask,cx,cy,4)
27ifleft==-1orright==-1:#ortop==-1orbottom==-1:
28continue
29dx=right-left
30#dy=top-bottom
31#print(dx,dy)
32ifdx>15:
33cv.circle(image,(cx+left+10,cy),4,(0,0,255),4,8,0)
34
35cv.imshow("test",image)
36cv.imwrite("D:/find_miss.png",image)
37cv.waitKey(0)
38cv.destroyAllWindows()


審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • OpenCV
    +關注

    關注

    32

    文章

    642

    瀏覽量

    42353
  • 圖像分析
    +關注

    關注

    0

    文章

    82

    瀏覽量

    18859

原文標題:OpenCV二值圖像分析之尋找缺失與靶心

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    AI模型部署邊緣設備的奇妙之旅:如何在邊緣端部署OpenCV

    力的研究工具。在深度學習中,我們會經常接觸到兩個名稱,圖像處理和計算機視覺,它們之間有什么區別呢?圖像處理(ImageProcessing)
    的頭像 發表于 12-14 09:10 ?745次閱讀
    AI模型部署邊緣設備的奇妙之旅:如何在邊緣端部署<b class='flag-5'>OpenCV</b>

    基于OpenCV的拆分和合并圖像通道實驗案例分享_基于RK3568教學實驗箱

    一、實驗目的 本節視頻的目的是了解圖像通道的概念,學習OpenCV的基本操作,并掌握通過OpenCV實現拆分和合并圖像通道的方法。 二、實驗原理 拆分與合并
    發表于 12-03 14:27

    月速成python+OpenCV圖像處理

    OpenCV是一廣受歡迎且極為流行的計算機視覺庫,它因其強大的功能、靈活性和開源特性而在開發者和研究者中備受青睞。學習OpenCV主要就是學習里面的計算機視覺算法。要學習這些算法的原理,知道它們
    的頭像 發表于 11-29 18:27 ?376次閱讀
    一<b class='flag-5'>個</b>月速成python+<b class='flag-5'>OpenCV</b><b class='flag-5'>圖像</b><b class='flag-5'>處理</b>

    從時域和頻域兩個角度對信號進行分析

    一般來說,我們會從時域和頻域兩個角度,分別對信號進行分析。 時域 時域是真實世界存在的域,按時間順序呈現。例如,在某個時鐘信號的時域圖中,可以觀察到兩個重要的參數,波形的周期和上升沿: 時鐘周期即
    的頭像 發表于 11-19 10:18 ?2800次閱讀
    從時域和頻域<b class='flag-5'>兩個</b>角度對信號進行<b class='flag-5'>分析</b>

    OpenCV教程之OpenCV圖像閾值處理

    閾值的基本概念是為了簡化圖像以進行分析。當我們將圖像轉換為灰度圖像時,必須記住灰度圖像仍然至少有255
    的頭像 發表于 11-16 10:16 ?531次閱讀
    <b class='flag-5'>OpenCV</b>教程之<b class='flag-5'>OpenCV</b><b class='flag-5'>圖像</b>閾值<b class='flag-5'>處理</b>

    傅里葉變換與圖像處理技術的區別

    在數字信號處理圖像分析領域,傅里葉變換和圖像處理技術是兩個核心概念。盡管它們在實際應用中常常交
    的頭像 發表于 11-14 09:30 ?725次閱讀

    觸發器的兩個穩定狀態分別是什么

    觸發器作為數字電路中的基本邏輯單元,具有兩個穩定狀態,這兩個狀態通常用于表示二進制數碼中的0和1。
    的頭像 發表于 08-12 11:01 ?2522次閱讀

    圖像識別技術包括自然語言處理

    圖像識別技術與自然語言處理是人工智能領域的兩個重要分支,它們在很多方面有著密切的聯系,但也存在一些區別。 一、圖像識別技術與自然語言處理的關
    的頭像 發表于 07-16 10:54 ?1292次閱讀

    OpenCV圖像識別C++代碼

    安裝OpenCV庫 首先,您需要在您的計算機上安裝OpenCV庫。您可以從OpenCV官網下載預編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項目中。
    的頭像 發表于 07-16 10:42 ?3671次閱讀

    opencv圖像識別有什么算法

    OpenCV(Open Source Computer Vision Library)是一開源的計算機視覺和機器學習軟件庫,提供了大量的圖像處理和計算機視覺相關的算法。以下是一些常見
    的頭像 發表于 07-16 10:40 ?1667次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。
    的頭像 發表于 07-16 10:38 ?1876次閱讀

    opencv的主要功能有哪些

    OpenCV(Open Source Computer Vision Library)是一開源的計算機視覺庫,提供了大量的計算機視覺算法和工具。以下是OpenCV的主要功能: 圖像
    的頭像 發表于 07-16 10:35 ?2478次閱讀

    什么是機器視覺opencv?它有哪些優勢?

    機器視覺(Machine Vision)是一種利用計算機和圖像處理技術來模擬人類視覺系統的功能,實現對圖像的識別、分析和理解的技術。OpenCV
    的頭像 發表于 07-16 10:33 ?1174次閱讀

    計算機視覺和圖像處理的區別和聯系

    計算機視覺和圖像處理兩個密切相關但又有明顯區別的領域。 1. 基本概念 1.1 計算機視覺 計算機視覺是一門研究如何使計算機能夠理解和解釋視覺信息的科學。它涉及到從圖像或視頻中提取、
    的頭像 發表于 07-09 09:16 ?2033次閱讀

    esp32能不能直接跑opencv?有沒有在板子上面做圖像處理的庫?

    esp32能不能直接跑opencv,有沒有在板子上面做圖像處理的庫
    發表于 06-13 06:59
    主站蜘蛛池模板: 男人j进入女人j视频大全 | 男人的j桶女人的j视频 | 人人狠狠综合88综合久久 | 户外露出 自拍系列 | 狠狠色欧美亚洲狠狠色www | 一级毛片美国一级j毛片不卡 | 国产一区二区高清 | 免费的黄色片 | 国产福利你懂的 | 骚淫| 天天舔天天干 | 高清视频免费 | 日本最好的免费影院 | 国产盗摄女子私密保健视频 | 婷婷丁香激情 | 欧美人成绝费网站色www吃脚 | 欧美乱码视频 | 人人天天爱天天做天天摸 | 色屁屁www影院免费观看视频 | 黄色三级在线观看 | 真实偷清晰对白在线视频 | 色综合国产 | 久久狠狠色噜噜狠狠狠狠97 | 天堂资源吧 | 久青草国产手机视频免费观看 | 国产成人一区二区在线不卡 | 特级毛片免费视频 | 色偷偷偷 | 91中文字幕在线视频 | 色第一页 | 天天舔日日干 | 波多野吉衣一区二区三区在线观看 | 精品无码中出一区二区 | www.射射| 色婷婷综合激情视频免费看 | 欧美成人a| 国产一级特黄高清在线大片 | 激情五月综合婷婷 | 亚洲综合亚洲综合网成人 | 日本视频色 | 久久综合九色综合97_ 久久久 |