91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

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

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 作者:gloomyfish ? 2022-08-22 09:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01

問題一:尋找靶心

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

圖一

02

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

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

圖二

解決方法

01

尋找靶心

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

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

獲取水平與垂直線如下:

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

獲取十字交叉線如下:

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

代碼實現(xiàn)如下:

 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

尋找缺失

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

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

從原圖得到的標(biāo)記圖如下:

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

代碼實現(xiàn)如下:

 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()


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • OpenCV
    +關(guān)注

    關(guān)注

    33

    文章

    652

    瀏覽量

    44803
  • 圖像分析
    +關(guān)注

    關(guān)注

    0

    文章

    82

    瀏覽量

    19233

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

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    兩個RS485-Modbus主站如何通訊

    本產(chǎn)品能很好解決Master-1主站向模塊寫入數(shù)據(jù),Master-2主站讀取數(shù)據(jù);Master-2主站向模塊寫入數(shù)據(jù),Master-1主站讀取數(shù)據(jù)。由此解決兩個主站之間的互相讀通信難題。
    發(fā)表于 02-08 15:32 ?0次下載

    曙光存儲連續(xù)斬獲兩個行業(yè)獎項

    近期,曙光存儲連續(xù)斬獲兩個行業(yè)獎項,自研技術(shù)產(chǎn)品在國產(chǎn)突破、AI行業(yè)應(yīng)用等方面的成果獲得廣泛關(guān)注。
    的頭像 發(fā)表于 01-15 16:28 ?2508次閱讀

    沒有專利的opencv-python 版本

    3.4.x 無專利版) 如果因代碼兼容性需使用 3.4.x 系列,且要無專利風(fēng)險,需滿足兩個條件: 降級 Python 到 3.9 及以下(3.4.x 最高支持 Python 3.9); 僅安裝核心
    發(fā)表于 12-13 12:37

    那些年我用OpenCV+Qt趟過哪些坑?寫給視覺應(yīng)用開發(fā)者的避坑指南

    最典型的幾個場景做成了深度實戰(zhàn)案例,每個案例都貫穿了前兩個階段的所有知識點: 12. 案例:嵌入式人臉識別門禁系統(tǒng) (涉及模型集成、實時視頻處理、界面交互) 13. 案例:YOLOv8健身動作計數(shù)
    發(fā)表于 12-02 09:43

    機器視覺雙雄YOLO 和 OpenCV 到底有啥區(qū)別?別再傻傻分不清!

    很多人一聽到 “YOLO”和“OpenCV” ,總以為它們是同一種東西。其實, 一是AI算法,一是視覺工具庫;一會“識別”,一會“
    的頭像 發(fā)表于 10-14 16:00 ?1273次閱讀
    機器視覺雙雄YOLO 和 <b class='flag-5'>OpenCV</b> 到底有啥區(qū)別?別再傻傻分不清!

    硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash?

    硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash,有一norflash被模擬成U盤,會在中斷中操作spi。
    發(fā)表于 09-26 06:18

    基本半導(dǎo)體連獲兩個行業(yè)獎項

    近日,基本半導(dǎo)體憑借在碳化硅模塊領(lǐng)域的突出表現(xiàn),連獲“國產(chǎn)SiC模塊TOP企業(yè)獎”和“年度優(yōu)秀功率器件產(chǎn)品獎”兩個行業(yè)獎項。
    的頭像 發(fā)表于 09-05 16:31 ?1098次閱讀

    【GM-3568JHF開發(fā)板免費體驗】OpenCV開發(fā)環(huán)境安裝和計數(shù)程序開發(fā)

    查看ip SSH鏈接 遠程登錄賬號和密碼是linaro 二、安裝Pip管理工具 Sudo apt-get install python3-pip 三、安裝cv2環(huán)境 cv2支持圖像處理(如濾波、邊緣
    發(fā)表于 08-09 13:30

    看到STM8L152用兩個IO用兩個或非門檢測兩個通斷,是什么原理呢?

    圖中兩個按鍵開關(guān)是兩個干簧管,為什么不直接對GND設(shè)計來檢測這個干簧管通斷呢? 這樣設(shè)計的原理是什么?
    發(fā)表于 06-12 06:25

    itop-3568開發(fā)板機器視覺opencv開發(fā)手冊-圖像繪制-畫線

    demo11_line.py 然后向該文件中添加以下內(nèi)容: 第 1 行和第 2 行分別導(dǎo)入了 opencv 和 numpy 庫; 第 3 行使用 zeros()函數(shù)創(chuàng)建一 512x512 的黑色圖片; 第 4 行使
    發(fā)表于 06-04 10:38

    ADAU1787四ADC、兩個DAC、帶音頻DSP的低功耗編解碼器技術(shù)手冊

    ADAU1787 是一款具有四輸入和兩個輸出的編解碼器,其中整合了兩個數(shù)字信號處理器 (DSP)。從模擬輸入到 DSP 內(nèi)核再到模擬輸出的路徑已針對低延遲進行優(yōu)化,適用于噪聲消除耳機
    的頭像 發(fā)表于 05-12 14:57 ?1521次閱讀
    ADAU1787四<b class='flag-5'>個</b>ADC、<b class='flag-5'>兩個</b>DAC、帶音頻DSP的低功耗編解碼器技術(shù)手冊

    基于LockAI視覺識別模塊:C++使用圖像的統(tǒng)計信息

    圖像處理中,統(tǒng)計信息可以幫助我們了解圖像的特性,例如區(qū)域內(nèi)的像素分布、顏色轉(zhuǎn)換以及特定區(qū)域的分析。本文將介紹基于LockAI視覺識別模塊如何提取興趣區(qū)域(ROI)、轉(zhuǎn)換顏色通道、計算
    發(fā)表于 05-08 10:31

    基于LockAI視覺識別模塊:C++圖像的基本運算

    圖像處理中,理解圖像的基本操作是掌握計算機視覺技術(shù)的關(guān)鍵。本文章將介紹 基于LockAI視覺識別模塊下OpenCV圖像的基本運算方法,
    發(fā)表于 05-06 16:56

    基于LockAI視覺識別模塊:C++圖像的基本運算

    圖像處理中,理解圖像的基本操作是掌握計算機視覺技術(shù)的關(guān)鍵。本文章將介紹基于LockAI視覺識別模塊下OpenCV圖像的基本運算方法,包括
    的頭像 發(fā)表于 05-06 16:20 ?716次閱讀
    基于LockAI視覺識別模塊:C++<b class='flag-5'>圖像</b>的基本運算

    K230模型同時給兩個攝像頭使用出現(xiàn)報錯怎么解決?

    云平臺訓(xùn)練好的det_video文件中只定義了兩個sensor攝像頭CSI1,CSI2, 相當(dāng)于CSI1,CSI2兩個都綁定綁定通道0的輸出到vo(一x=0, y=240,一x=4
    發(fā)表于 03-11 06:14