色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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
    +關注

    關注

    31

    文章

    634

    瀏覽量

    41338
  • 圖像分析
    +關注

    關注

    0

    文章

    82

    瀏覽量

    18676

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    月速成python+OpenCV圖像處理

    OpenCV是一廣受歡迎且極為流行的計算機視覺庫,它因其強大的功能、靈活性和開源特性而在開發者和研究者中備受青睞。學習OpenCV主要就是學習里面的計算機視覺算法。要學習這些算法的原理,知道它們
    的頭像 發表于 11-29 18:27 ?123次閱讀
    一<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 ?706次閱讀
    從時域和頻域<b class='flag-5'>兩個</b>角度對信號進行<b class='flag-5'>分析</b>

    OpenCV教程之OpenCV圖像閾值處理

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

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

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

    OpenCV圖像識別C++代碼

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

    opencv圖像識別有什么算法

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

    opencv-python和opencv一樣嗎

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

    opencv的主要功能有哪些

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

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

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

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

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

    請問CX3是否可以實現兩個camera的圖像拼接?

    CX3 是否可以實現兩個camera的圖像拼接?
    發表于 02-29 08:20

    如何實現PIL和OpenCV之間圖像數據的轉換呢?

    PIL圖像數據格式轉換成OpenCV圖像數據格式
    的頭像 發表于 02-25 13:43 ?1209次閱讀

    arcgis中如何關聯兩個屬性表

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

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

    OpenCV能夠處理圖像、視頻、深度圖像等各種類型的視覺數據
    的頭像 發表于 01-05 17:32 ?2514次閱讀
    使用<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>庫<b class='flag-5'>OpenCV</b>從攝像頭獲取數據并在PyQt5上顯示出來
    主站蜘蛛池模板: 麻豆免费观看高清完整视频在线 | 久久热在线视频精品店| 一受多攻高h| chinesevideos原创麻豆| 欧美同志高清vivoeso| 刺激性视频黄页| 小学生偷拍妈妈视频遭性教育 | 亚洲 欧美 国产 综合 播放| 国内精品不卡一区二区三区| 一本久道久久综合婷婷五月| 蜜臀AV99无码精品国产专区| 爆操日本美女| 暖暖视频 免费 高清 日本8| 成年人深夜福利| 亚洲 欧美 国产在线视频| 黑丝美女被人操| 亚洲2017天堂色无码| 久久久久久久国产精品视频| 99午夜视频| 欧美精品一区二区三区四区| 在线精品国精品国产不卡| 欧美 亚洲 另类 综合网| 国产99小视频| 试看2分钟AA片| 欧美一区二区三区免费播放| 好看AV中文字幕在线观看| 年轻老师毛茸茸自由性 | 毛片免费在线视频| 成人在线免费视频| 亚洲高清视频在线观看| 狼群影院视频在线观看WWW| 俺也去最新地址| 亚洲AV精品无码成人| 久热久热精品在线观看| 动漫成人片| 一本道色播| 日本美国群交P片内射捆绑| YELLOW日本动漫高清免费| 亚洲 欧美 中文字幕 在线| 久热这里在线精品| 国产69精品9999XXXX|