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

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

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

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

分享兩個(gè)OpenCV圖像處理與分析的問題

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

掃碼添加小助手

加入工程師交流群

01

問題一:尋找靶心

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

圖一

02

問題二:尋找其中的缺失點(diǎn)

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

圖二

解決方法

01

尋找靶心

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

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

獲取水平與垂直線如下:

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

獲取十字交叉線如下:

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

代碼實(shí)現(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

尋找缺失

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

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

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

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

代碼實(shí)現(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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • OpenCV
    +關(guān)注

    關(guān)注

    33

    文章

    652

    瀏覽量

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

    關(guān)注

    0

    文章

    82

    瀏覽量

    19233

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    兩個(gè)RS485-Modbus主站如何通訊

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

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

    近期,曙光存儲連續(xù)斬獲兩個(gè)行業(yè)獎項(xiàng),自研技術(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)險(xiǎn),需滿足兩個(gè)條件: 降級 Python 到 3.9 及以下(3.4.x 最高支持 Python 3.9); 僅安裝核心
    發(fā)表于 12-13 12:37

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

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

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

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

    個(gè)硬件SPI兩個(gè)CS操作兩個(gè)norflash,怎么互斥操作兩個(gè)norflash?

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

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

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

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

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

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

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

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

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

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

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

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

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

    基于LockAI視覺識別模塊:C++圖像的基本運(yùn)算

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

    基于LockAI視覺識別模塊:C++圖像的基本運(yùn)算

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

    K230模型同時(shí)給兩個(gè)攝像頭使用出現(xiàn)報(bào)錯(cuò)怎么解決?

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