最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

opencv實(shí)現(xiàn)礦石圖片檢測(cè)礦石數(shù)量

 更新時(shí)間:2022年08月01日 15:34:54   作者:Silencer_s  
這篇文章主要為大家詳細(xì)介紹了opencv實(shí)現(xiàn)礦石圖片檢測(cè)礦石數(shù)量,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了opencv礦石圖片檢測(cè)礦石數(shù)量的具體代碼,供大家參考,具體內(nèi)容如下

原始礦石圖片

此類圖片是高躁圖,二值化后圖像如下

采用膨脹的方法去除黑色噪點(diǎn)

二值圖黑白轉(zhuǎn)化dilateImg = 255 - dilateImg #黑白轉(zhuǎn)換

全部代碼如下:

import cv2 ?
import numpy as np
import matplotlib.pyplot as plt
import pywt

"""原始圖像導(dǎo)入""" ? ? ?
img = cv2.imread("000166.jpg") ?
#img = cv2.resize(img, (1600, 896))
#cv2.imshow("original", img)
"""轉(zhuǎn)化為灰度圖像"""
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)?
#cv2.imshow("gray", gray)

"""轉(zhuǎn)化為二值圖像
#dst0 = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,251, 1)
cv2.imshow("black&white", dst0)"""

"""圖像去躁
denose = cv2.fastNlMeansDenoising(gray,None,100,7,21)
cv2.imshow("denosing", denose)"""

"""小波圖像去躁
coeffs = pywt.dwt2(gray, 'haar')
cA1,(cH1, cV1, cD1) = coeffs
cD1 = np.zeros(cD1.shape) + 255
coeffs = cA1,(cH1, cV1, cD1)
denose = pywt.idwt2(coeffs, 'haar')
cv2.imshow("denose", denose)"""

"""轉(zhuǎn)化為二值圖像"""
dst1 = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,251, 1)
cv2.imshow("black&white", dst1)

"""膨脹用于排除小型黑洞"""
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(6,6)) ? #(此矩陣有關(guān)于黑點(diǎn)、噪點(diǎn)的去除)
dilateImg = cv2.dilate(dst1, kernel)
#erodImg = cv2.erode(dilateImg, kernel)
cv2.imshow("erodImg&wdilateImg",dilateImg)


"""計(jì)算數(shù)目"""
dilateImg = 255 - dilateImg #黑白轉(zhuǎn)換
imgs,contours,hierarchy = cv2.findContours(dilateImg,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) ?#輪廓檢測(cè)函數(shù)
cv2.drawContours(dilateImg,contours,-1,(120,0,0),2) ?#繪制輪廓
cv2.imshow("calcuate",dilateImg)

count=0 #礦石總數(shù)
ares_avrg=0 ?#礦石平均
#遍歷找到的所有礦石
for cont in contours:
? ? ares = cv2.contourArea(cont)#計(jì)算包圍形狀的面積
? ? if ares<50: ? #過(guò)濾面積小于50的形狀
? ? ? ? continue
? ? count+=1 ? ?#總體計(jì)數(shù)加1
? ? ares_avrg+=ares
? ? print("{}-blob:{}".format(count,ares),end=" ?") #打印出每個(gè)礦石的面積
? ? rect = cv2.boundingRect(cont) #提取矩形坐標(biāo)
? ? print("x:{} y:{}".format(rect[0],rect[1]))#打印坐標(biāo)
? ? #cv2.rectangle返回值是x,y,w,h
? ? cv2.rectangle(img,(rect[0],rect[1]),(rect[0]+rect[2],rect[1]+rect[3]),(0,0,0xff),1)#繪制矩形
? ? y=10 if rect[1]<10 else rect[1] #防止編號(hào)到圖片之外
? ? cv2.putText(img,str(count), (rect[0], y), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 255, 0), 3) #在礦石左上角寫上編號(hào)
print("礦石平均面積:{}".format(round(ares_avrg/ares,2))) #打印出每個(gè)礦石的面積
print(count)
cv2.imshow("original", img)

cv2.waitKey()
#cv2.destroyAllWindows() # important part!

本來(lái)想用小波去躁,把HH全置255(看你目標(biāo)是用黑還是白表示,此處用黑色表示),效果不太好,只能選膨脹來(lái)搞了。

最后的結(jié)果如下:(話說(shuō)結(jié)果圖沒什么不能拖動(dòng)縮放呢- -。)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python完成毫秒級(jí)搶淘寶大單功能

    Python完成毫秒級(jí)搶淘寶大單功能

    在本篇文章里小編給大家分享了關(guān)于Python完成毫秒級(jí)搶淘寶大單功能以及實(shí)例代碼,需要的朋友們參考下。
    2019-06-06
  • 詳細(xì)解讀Python中的__init__()方法

    詳細(xì)解讀Python中的__init__()方法

    這篇文章主要介紹了Python中的__init__()方法,__init__()方法是Python學(xué)習(xí)當(dāng)中重要的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • Python 模擬員工信息數(shù)據(jù)庫(kù)操作的實(shí)例

    Python 模擬員工信息數(shù)據(jù)庫(kù)操作的實(shí)例

    下面小編就為大家?guī)?lái)一篇Python 模擬員工信息數(shù)據(jù)庫(kù)操作的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • 解決Python httpx 運(yùn)行過(guò)程中無(wú)限阻塞的問(wèn)題

    解決Python httpx 運(yùn)行過(guò)程中無(wú)限阻塞的問(wèn)題

    這篇文章主要介紹了解決Python httpx 運(yùn)行過(guò)程中無(wú)限阻塞的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python操作注冊(cè)表的方法實(shí)現(xiàn)

    python操作注冊(cè)表的方法實(shí)現(xiàn)

    Python提供了winreg模塊,可以用于操作Windows注冊(cè)表,本文就來(lái)介紹一下python操作注冊(cè)表的方法實(shí)現(xiàn),主要包括打開注冊(cè)表、讀取注冊(cè)表值、寫入注冊(cè)表值和關(guān)閉注冊(cè)表,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • Python中的變量、運(yùn)算符與流程控制

    Python中的變量、運(yùn)算符與流程控制

    本文詳細(xì)講解了Python中的變量、運(yùn)算符與流程控制,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • python中使用xlrd讀excel使用xlwt寫excel的實(shí)例代碼

    python中使用xlrd讀excel使用xlwt寫excel的實(shí)例代碼

    這篇文章主要介紹了python中使用xlrd讀excel使用xlwt寫excel的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python中裝飾器和魔法方法的區(qū)別解析

    Python中裝飾器和魔法方法的區(qū)別解析

    在Python中,裝飾器(Decorators)和魔法方法(Magic Methods)是兩種不同的高級(jí)特性,分別服務(wù)于不同的目的,這篇文章主要介紹了Python中裝飾器和魔法方法的區(qū)別,需要的朋友可以參考下
    2024-03-03
  • Python構(gòu)建XML樹結(jié)構(gòu)的方法示例

    Python構(gòu)建XML樹結(jié)構(gòu)的方法示例

    這篇文章主要介紹了Python構(gòu)建XML樹結(jié)構(gòu)的方法,結(jié)合實(shí)例形式分析了Python創(chuàng)建與打印xml數(shù)結(jié)構(gòu)的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • 詳解如何比較Python中的兩個(gè)迭代器

    詳解如何比較Python中的兩個(gè)迭代器

    Python迭代器是高效遍歷元素序列的強(qiáng)大工具,有時(shí)可能需要比較兩個(gè)迭代器以確定它們的相等性或找到它們的差異,本文將比較Python中兩個(gè)迭代器的不同方法,
    2024-11-11

最新評(píng)論

扬中市| 温宿县| 泉州市| 秦皇岛市| 宁陵县| 益阳市| 望江县| 武夷山市| 高阳县| 德令哈市| 淮北市| 道真| 九台市| 邹城市| 芜湖县| 武威市| 商都县| 烟台市| 桂阳县| 抚顺县| 闸北区| 厦门市| 柯坪县| 江油市| 隆林| 平果县| 南皮县| 耒阳市| 青龙| 定南县| 即墨市| 亳州市| 郯城县| 龙里县| 宁晋县| 子洲县| 焉耆| 夏河县| 彩票| 黑水县| 博罗县|