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

Python圖像處理之模糊圖像判斷

 更新時(shí)間:2022年12月05日 11:03:40   作者:夏天是冰紅茶  
這篇文章主要為大家詳細(xì)介紹了Python圖像處理中的模糊圖像判斷的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下

上期回顧

上一次的圖像清晰度評(píng)價(jià)沒(méi)有成功,主要的原因是那幾張圖像清晰度評(píng)價(jià)函數(shù)都實(shí)際都采用了梯度求解,不同的場(chǎng)景灰度的明暗不同,梯度可能會(huì)很大,無(wú)法得到一個(gè)界定值來(lái)判定圖像的清晰度,所以這次我打算只對(duì)動(dòng)態(tài)模糊的圖像進(jìn)行判斷,是否是動(dòng)態(tài)模糊圖像。

圖像處理:圖像清晰度評(píng)價(jià)

采用Laplace算子的原因

根據(jù)我之前的一個(gè)調(diào)研,在清晰度評(píng)價(jià)函數(shù)當(dāng)中,我決定采用Laplace算子,因?yàn)樗玫降奶荻戎递^小,容易獲得一個(gè)模糊判斷區(qū)間,而其他的幾種所獲得的梯度值較大,相應(yīng)的誤差范圍也將更高,而且在opencv當(dāng)中就集成了Laplace算子,很輕松就能調(diào)用,并得到一個(gè)很好的結(jié)果。

實(shí)現(xiàn)的效果

本次將會(huì)使用一組模糊圖像和一組標(biāo)準(zhǔn)圖像獲得模糊判定區(qū)間(a,b),我們知道梯度值越大,圖像越清晰,所以當(dāng)我們進(jìn)行測(cè)試一張圖像時(shí),它所返回的梯度值小于a,則可以說(shuō)明它是一個(gè)模糊的圖像,當(dāng)返回的梯度值大于b時(shí),則可以說(shuō)明它是一個(gè)清晰的圖像,而當(dāng)返回的梯度值落在了a與b之間,我們也將其放在模糊圖像當(dāng)中。

圖片素材

我自己采用的是手機(jī)拍攝的照片,分辨率都是1280*960,請(qǐng)注意圖像的尺寸與場(chǎng)景會(huì)影響返回的梯度值,但我們通常采集的數(shù)據(jù)都是由相機(jī)拍攝,尺寸相同,工業(yè)上采用道路裂縫檢測(cè)的場(chǎng)景基本類似,所以有研究的意義。

代碼的展示與講解

import cv2
import os
 
def getPhotopath(paths):
    imgfile = []
    file_list=os.listdir(paths)
    for i in file_list:
        newph=os.path.join(paths,i)
        imgfile.append(newph)
    return imgfile
 
def getImgVar(image):
    imggray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    imageVar = cv2.Laplacian(imggray, cv2.CV_64F).var()
    return imageVar
 
def getTest(imgfile):
    c = []
    for i in imgfile:
        # print(i)
        img=cv2.imread(i)
        image=getImgVar(img)
        # print(image)
        c.append(float(f"{image:.3f}"))
    if 'test' in imgfile[0]:   #對(duì)測(cè)試集數(shù)據(jù)進(jìn)行反轉(zhuǎn)
        c.sort(reverse=True)
    else:
        c.sort()
    return c
 
def getThr():
    a=getTest(imgfile1)
    b=getTest(imgfile2)
    thr=(a[0],b[0])
    # print(thr)
    return thr
 
path1="./test"     #測(cè)試的數(shù)據(jù)集文件夾位置
path2="./Standards"  #標(biāo)準(zhǔn)圖的數(shù)據(jù)文件夾位置
#獲取文件下的名稱
imgfile1=getPhotopath(path1)
imgfile2=getPhotopath(path2)
 
#獲得閾值
minThr,maxThr=getThr()
print(minThr,maxThr)
 
def vagueJudge(image):
    img = cv2.imread(image)
    imgVar = getImgVar(img)
    if imgVar>maxThr:
        cv2.putText(img, f"Not Vague{imgVar:.2f}", (12, 70), cv2.FONT_HERSHEY_PLAIN, 3,
                    (255, 0, 0), 3)
    else:
        cv2.putText(img, f"Vague{imgVar:.2f}", (12, 70), cv2.FONT_HERSHEY_PLAIN, 3,
                    (255, 0, 0), 3)
    cv2.imshow("img",img)
    k=cv2.waitKey(0) & 0xFF
image="./Standards/001.jpg"   #需要進(jìn)行測(cè)試的圖片
vagueJudge(image)
getPhotopath函數(shù):獲得文件夾下各個(gè)圖片路徑,輸入模糊圖片的文件夾,輸入標(biāo)準(zhǔn)圖像的文件夾,存入列表當(dāng)中。
getImgVar函數(shù):返回圖像梯度值。
getTest函數(shù):對(duì)每個(gè)圖像進(jìn)行了梯度值計(jì)算后,存入列表當(dāng)中,對(duì)模糊圖像的進(jìn)行列表序列翻轉(zhuǎn)。
def getThr函數(shù):獲得模糊判定區(qū)間(a,b)。
vagueJudge函數(shù):對(duì)新輸入的圖像進(jìn)行模糊判定,只要小于b,就判定為模糊。

效果展示

由于我不想在拍攝新的圖片,這里就采用./test文件和./Standards文件的圖片。

控制臺(tái)打印的模糊判定區(qū)間:

4.327 65.401

image="./Standards/001.jpg" 

image="./test/01.jpg"

項(xiàng)目資源

GitHub鏈接

到此這篇關(guān)于Python圖像處理之模糊圖像判斷的文章就介紹到這了,更多相關(guān)Python模糊圖像判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python基礎(chǔ)之while循環(huán)語(yǔ)句的使用

    python基礎(chǔ)之while循環(huán)語(yǔ)句的使用

    這篇文章主要介紹了python基礎(chǔ)之while循環(huán)語(yǔ)句的使用,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • 淺談Python_Openpyxl使用(最全總結(jié))

    淺談Python_Openpyxl使用(最全總結(jié))

    這篇文章主要介紹了淺談Python_Openpyxl使用(最全總結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 簡(jiǎn)單了解OpenCV是個(gè)什么東西

    簡(jiǎn)單了解OpenCV是個(gè)什么東西

    這篇文章主要介紹了簡(jiǎn)單了解OpenCV是什么,結(jié)合了幾篇相關(guān)文章的介紹,還是比較不錯(cuò)的,希望大家在閱讀過(guò)之后,會(huì)對(duì)OpenCV有一個(gè)簡(jiǎn)單了解。
    2017-11-11
  • Python開(kāi)多次方根的案例

    Python開(kāi)多次方根的案例

    這篇文章主要介紹了Python開(kāi)多次方根的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • python如何繪制極坐標(biāo)輪廓圖contourf

    python如何繪制極坐標(biāo)輪廓圖contourf

    這篇文章主要介紹了python如何繪制極坐標(biāo)輪廓圖contourf問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • django 模型字段設(shè)置默認(rèn)值代碼

    django 模型字段設(shè)置默認(rèn)值代碼

    這篇文章主要介紹了django 模型字段設(shè)置默認(rèn)值代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • PyQt5使用QTimer實(shí)現(xiàn)電子時(shí)鐘

    PyQt5使用QTimer實(shí)現(xiàn)電子時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了PyQt5使用QTimer實(shí)現(xiàn)電子時(shí)鐘,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 使用selenium模擬動(dòng)態(tài)登錄百度頁(yè)面的實(shí)現(xiàn)

    使用selenium模擬動(dòng)態(tài)登錄百度頁(yè)面的實(shí)現(xiàn)

    本文主要介紹了使用selenium模擬動(dòng)態(tài)登錄百度頁(yè)面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • python使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)

    python使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù)

    這篇文章主要介紹了python如何使用ctypes庫(kù)調(diào)用DLL動(dòng)態(tài)鏈接庫(kù),幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • python3 發(fā)送任意文件郵件的實(shí)例

    python3 發(fā)送任意文件郵件的實(shí)例

    下面小編就為大家分享一篇python3 發(fā)送任意文件郵件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01

最新評(píng)論

合川市| 临江市| 阿坝县| 雅江县| 皋兰县| 麻江县| 湖北省| 阿克陶县| 甘谷县| 南木林县| 增城市| 福清市| 平阴县| 大关县| 鞍山市| 南漳县| 卓尼县| 七台河市| 大连市| 沭阳县| 汝南县| 科技| 颍上县| 石城县| 通河县| 兴安县| 高阳县| 大兴区| 渭源县| 巴彦淖尔市| 师宗县| 新密市| 敦化市| 金阳县| 桃江县| 乌兰浩特市| 波密县| 屏南县| 汶川县| 云南省| 偏关县|