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

python opencv實(shí)現(xiàn)圖片缺陷檢測(講解直方圖以及相關(guān)系數(shù)對比法)

 更新時間:2020年04月07日 10:11:42   作者:宇~  
這篇文章主要介紹了python opencv 圖片缺陷檢測,主要講解直方圖以及相關(guān)系數(shù)對比法,本文通過實(shí)例截圖給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、利用直方圖的方式進(jìn)行批量的圖片缺陷檢測(方法簡單)

二、步驟(完整代碼見最后)

2.1灰度轉(zhuǎn)換(將原圖和要檢測對比的圖分開灰度化)

灰度化的作用是因?yàn)楹竺娴闹狈綀D比較需要以像素256為基準(zhǔn)進(jìn)行相關(guān)性比較

img = cv2.imread("0.bmp")
#原圖灰度轉(zhuǎn)換
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

#循環(huán)要檢測的圖,均灰度化
for i in range(1, 6):
 t1=cv2.cvtColor(cv2.imread(str(i)+".bmp"),cv2.COLOR_RGB2GRAY)

2.2 直方圖計(jì)算(結(jié)果其實(shí)是二維的圖表--用畫圖的方式展示)

calcHist參數(shù)講解

  • 第一個參數(shù): 必須為列表[],哪怕只有一個圖片 ,image輸入圖像
  • channels::傳入圖像的通道, 如果是灰度圖像,那就不用說了,只有一個通道,值為0 ,如果是彩色圖像(有3個通道),那么值為0,1,2,中選擇一個,對應(yīng)著BGR各個通道。這個值也得用[]傳入。
  • mask:掩膜圖像。 如果統(tǒng)計(jì)整幅圖,那么為none 。主要是如果要統(tǒng)計(jì)部分圖的直方圖,就得構(gòu)造相應(yīng)的炎掩膜來計(jì)算。
  • histSize:灰度級的個數(shù), 需要中括號,比如[256]
  • ranges:像素值的范圍, 通常[0,256] ,有的圖像如果不是0-256,比如說你來回各種變換導(dǎo)致像素值負(fù)值、很大,則需要調(diào)整后才可以。

 #直方圖計(jì)算的函數(shù),反應(yīng)灰度值的分布情況
    hist = cv2.calcHist([gray], [0], None, [256], [0.0,255.0])

    h1 = cv2.calcHist([t1], [0], None, [256], [0.0,255.0])

2.3 相關(guān)性比較

cv2.compareHist(H1, H2, method)

其中:

  • H1,H2 分別為要比較圖像的直方圖
  • method - 比較方式
  • 比較方式(method)
  • 相關(guān)性比較 (method=cv.HISTCMP_CORREL) 值越大,相關(guān)度越高,最大值為1,最小值為0-----------------------只用一種固然不是很嚴(yán)謹(jǐn),但這里做示范,把閾值調(diào)高也差不多( 取大于等于0.9 )
  • 卡方比較(method=cv.HISTCMP_CHISQR 值越小,相關(guān)度越高,最大值無上界,最小值0
  • 巴氏距離比較(method=cv.HISTCMP_BHATTACHARYYA) 值越小,相關(guān)度越高,最大值為1,最小值為0
  • #相關(guān)性計(jì)算,采用相關(guān)系數(shù)的方式
  •     result = cv2.compareHist(hist,h1,method=cv2.HISTCMP_CORREL)

2.4 展示結(jié)果(判斷閾值)

相關(guān)系數(shù)含義參考表

 im = Image.open(str(i) + ".bmp")

 draw = ImageDraw.Draw(im)
 fnt = ImageFont.truetype(r'C:\Windows\Fonts\simsun.ttc', 30)
 #這里視作》=0.9認(rèn)為相似,即合格
 if result >=0.9:
  draw.text((5, 10), u'合格', fill='red', font=fnt)
 else:
  draw.text((5, 10), u'不合格', fill='red', font=fnt)
 im.show("result" +str(i) + ".png")

三、完整代碼

# -*- coding: UTF-8 -*-
import cv2
from PIL import Image, ImageDraw, ImageFont

img = cv2.imread("0.bmp")
#原圖灰度轉(zhuǎn)換
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

for i in range(1, 6):
 t1=cv2.cvtColor(cv2.imread(str(i)+".bmp"),cv2.COLOR_RGB2GRAY)

 #直方圖計(jì)算的函數(shù),反應(yīng)灰度值的分布情況
 hist = cv2.calcHist([gray], [0], None, [256], [0.0,255.0])

 h1 = cv2.calcHist([t1], [0], None, [256], [0.0,255.0])
 #相關(guān)性計(jì)算,采用相關(guān)系數(shù)的方式
 result = cv2.compareHist(hist,h1,method=cv2.HISTCMP_CORREL)
 im = Image.open(str(i) + ".bmp")

 draw = ImageDraw.Draw(im)
 fnt = ImageFont.truetype(r'C:\Windows\Fonts\simsun.ttc', 30)
 #這里視作》=0.9認(rèn)為相似,即合格
 if result >=0.9:
  draw.text((5, 10), u'合格', fill='red', font=fnt)
 else:
  draw.text((5, 10), u'不合格', fill='red', font=fnt)
 im.show("result" +str(i) + ".png")

參考博文:

Python-Opencv中用compareHist函數(shù)進(jìn)行直方圖比較進(jìn)行對比圖片:

http://m.fzitv.net/article/184210.htm

OpenCV-Python 直方圖-1:查找、繪制和分析|二十六: http://baijiahao.baidu.com/s?id=1655424859576397139&wfr=spider&for=pc
希望幫助能大家理解直方圖以及比較函數(shù)作用??!!

總結(jié)

到此這篇關(guān)于python opencv實(shí)現(xiàn)圖片缺陷檢測(講解直方圖以及相關(guān)系數(shù)對比法)的文章就介紹到這了,更多相關(guān)python opencv 缺陷檢測內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python處理BAM的方法

    使用Python處理BAM的方法

    這篇文章主要介紹了使用Python處理BAM的方法,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • 老生常談Python之裝飾器、迭代器和生成器

    老生常談Python之裝飾器、迭代器和生成器

    下面小編就為大家?guī)硪黄仙U凱ython之裝飾器、迭代器和生成器。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • PyTorch如何使用embedding對特征向量進(jìn)行嵌入

    PyTorch如何使用embedding對特征向量進(jìn)行嵌入

    這篇文章主要介紹了PyTorch如何使用embedding對特征向量進(jìn)行嵌入問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 利用python如何處理nc數(shù)據(jù)詳解

    利用python如何處理nc數(shù)據(jù)詳解

    目前很多數(shù)據(jù)以nc格式存儲,下面這篇文章主要給大家介紹了關(guān)于利用python如何處理nc數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值。需要的朋友們下面來一起看看吧
    2018-05-05
  • python實(shí)現(xiàn)自動解數(shù)獨(dú)小程序

    python實(shí)現(xiàn)自動解數(shù)獨(dú)小程序

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動解數(shù)獨(dú)小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python在控制臺輸出進(jìn)度條的方法

    python在控制臺輸出進(jìn)度條的方法

    這篇文章主要介紹了python在控制臺輸出進(jìn)度條的方法,實(shí)例分析了Python輸出進(jìn)度條效果的方法,需要的朋友可以參考下
    2015-06-06
  • 詳解Python中如何添加Selenium WebDriver等待

    詳解Python中如何添加Selenium WebDriver等待

    Selenium Web 驅(qū)動程序提供兩種類型的等待, 第一個是隱式等待,第二個是顯式等待,本文主要為大家介紹了Python如何在Selenium Web驅(qū)動程序中添加這兩種等待,需要的可以參考下
    2023-11-11
  • Python PyQt5 Pycharm 環(huán)境搭建及配置詳解(圖文教程)

    Python PyQt5 Pycharm 環(huán)境搭建及配置詳解(圖文教程)

    這篇文章主要介紹了Python PyQt5 Pycharm 環(huán)境搭建及配置詳解,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python運(yùn)行shell命令subprocess的實(shí)現(xiàn)

    python運(yùn)行shell命令subprocess的實(shí)現(xiàn)

    本文主要介紹了python運(yùn)行shell命令subprocess的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python中的import、from import及import as的區(qū)別解析

    python中的import、from import及import as的區(qū)別解析

    在Python中,如果import的語句比較長,導(dǎo)致后續(xù)引用不方便,可以使用as語法,這篇文章主要介紹了python中的import、from import以及import as的區(qū)別,需要的朋友可以參考下
    2022-10-10

最新評論

长海县| 遂昌县| 巴彦县| 阿巴嘎旗| 昌邑市| 和硕县| 集贤县| 全南县| 滁州市| 米易县| 苍溪县| 潼南县| 横山县| 普洱| 丰镇市| 平山县| 义乌市| 阳谷县| 开阳县| 宁陕县| 万源市| 攀枝花市| 邛崃市| 名山县| 金湖县| 闸北区| 两当县| 乌鲁木齐县| 长汀县| 宁国市| 盐池县| 华亭县| 白水县| 荔浦县| 泌阳县| 平度市| 垣曲县| 永善县| 安平县| 自贡市| 灵台县|