精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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

尋找靶心

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

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

尋找缺失

仔細(xì)觀察圖二,缺失是偶發(fā)情況,針對這種情況下,要完成計數(shù)與缺失位置標(biāo)定!我感覺我的密集恐懼癥已經(jīng)開始犯了!首先需要獲取這些位置,通過二值話與輪廓發(fā)現(xiàn)搞定,然后根據(jù)這些輪廓位置,重新繪制統(tǒng)一的圓形標(biāo)記,輪廓發(fā)現(xiàn)對每個圓形標(biāo)記進(jìn)行上下左右位置最近領(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)注

    30

    文章

    628

    瀏覽量

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

    關(guān)注

    0

    文章

    82

    瀏覽量

    18665

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    從時域和頻域兩個角度對信號進(jìn)行分析

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

    OpenCV教程之OpenCV圖像閾值處理

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

    圖像識別技術(shù)包括自然語言處理

    圖像識別技術(shù)與自然語言處理是人工智能領(lǐng)域的兩個重要分支,它們在很多方面有著密切的聯(lián)系,但也存在一些區(qū)別。 一、圖像識別技術(shù)與自然語言處理的關(guān)
    的頭像 發(fā)表于 07-16 10:54 ?633次閱讀

    OpenCV圖像識別C++代碼

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

    opencv圖像識別有什么算法

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

    opencv-python和opencv一樣嗎

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

    opencv的主要功能有哪些

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

    什么是機(jī)器視覺opencv?它有哪些優(yōu)勢?

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

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

    esp32能不能直接跑opencv,有沒有在板子上面做圖像處理的庫
    發(fā)表于 06-13 06:59

    如何實現(xiàn)PIL和OpenCV之間圖像數(shù)據(jù)的轉(zhuǎn)換呢?

    PIL圖像數(shù)據(jù)格式轉(zhuǎn)換成OpenCV圖像數(shù)據(jù)格式
    的頭像 發(fā)表于 02-25 13:43 ?1155次閱讀

    arcgis中如何關(guān)聯(lián)兩個屬性表

    在ArcGIS中,關(guān)聯(lián)兩個屬性表是一重要的操作,可以通過此操作將兩個表中的數(shù)據(jù)關(guān)聯(lián)起來,以便進(jìn)行分析和查詢。下面是詳細(xì)介紹如何在ArcGIS中實現(xiàn)屬性表的關(guān)聯(lián)。 首先,我們需要明確
    的頭像 發(fā)表于 02-25 11:01 ?4013次閱讀

    使用圖像處理OpenCV從攝像頭獲取數(shù)據(jù)并在PyQt5上顯示出來

    OpenCV能夠處理圖像、視頻、深度圖像等各種類型的視覺數(shù)據(jù)
    的頭像 發(fā)表于 01-05 17:32 ?2350次閱讀
    使用<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>庫<b class='flag-5'>OpenCV</b>從攝像頭獲取數(shù)據(jù)并在PyQt5上顯示出來

    二值圖像分析的典型案例

    最近一直有人向我提問很多二值圖像分析相關(guān)的問題,特別選擇了兩個典型的輪廓分析問題。進(jìn)行分析與編碼實現(xiàn)與演示,廢話不多說,先看第一
    的頭像 發(fā)表于 12-06 10:54 ?503次閱讀

    OpenCV4.8 CUDA編程代碼教程

    OpenCV4支持通過GPU實現(xiàn)CUDA加速執(zhí)行,實現(xiàn)對OpenCV圖像處理程序的加速運行,當(dāng)前支持加速的模塊包括如下。
    的頭像 發(fā)表于 12-05 09:56 ?986次閱讀
    <b class='flag-5'>OpenCV</b>4.8 CUDA編程代碼教程

    兩個硬盤2系統(tǒng)開機(jī)切換

    切換兩個硬盤上的系統(tǒng)是一種常見的行為,可以讓用戶在不同的操作系統(tǒng)之間進(jìn)行切換,以滿足不同的需求。在本文中,我們將詳細(xì)介紹如何配置和使用兩個硬盤上的系統(tǒng)進(jìn)行切換。本文將分為以下幾個部分進(jìn)行討論:硬件
    的頭像 發(fā)表于 11-28 15:08 ?7422次閱讀