欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python腳本之如何按照清晰度對圖片進(jìn)行分類

 更新時(shí)間:2023年05月09日 09:42:01   作者:可樂大牛  
這篇文章主要介紹了python腳本之如何按照清晰度對圖片進(jìn)行分類問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

原理

在《Analysis of focus measure operators for shape-from-focus》[2013 Pertuz et al.]。

在這篇文獻(xiàn)中,Pertuz 等人論述了近 36 種不同的圖片清晰度評價(jià)(focus measure)方法。

其中一種方式比較簡單,就是使用拉普拉斯方差算法,直接得到一個(gè)浮點(diǎn)數(shù)方差表征清晰度。

事先設(shè)定一個(gè)閾值,如果某圖片的清晰度低于預(yù)先定義的閾值,那么該圖片就可以被認(rèn)為是模糊的。高于閾值,就不是模糊的,或者說是清晰的。

此算法基于以下假設(shè):如果圖片具有較高方差,那么它就有較廣的頻響范圍,代表著正常,聚焦準(zhǔn)確的圖片。

總結(jié):正常圖像中邊界清晰,經(jīng)拉普拉斯計(jì)算后方差較大;模糊圖像邊界信息少,方差小

代碼

import os
import cv2
import shutil
# 計(jì)算圖片清晰度
def getImageVar(img):
    res=0
    for i in cv2.split(img):
        # 對圖片用 3x3 拉普拉斯算子做卷積得到邊緣  計(jì)算出方差,并最后返回。
        # 函數(shù)求完導(dǎo)數(shù)后會(huì)有負(fù)值,還有會(huì)大于255的值。而原圖像是uint8,即8位無符號數(shù),所以建立的圖像位數(shù)不夠,會(huì)有截?cái)?。因此要使?4位有符號的數(shù)據(jù)類型,即 cv2.CV_64F。
        # 再用var函數(shù)求方差
        res+=cv2.Laplacian(i, cv2.CV_64F).var()
    return res/3
# 讀取某個(gè)文件夾下面的所有文件名 返回list
def get_all_file(path):
    all_file=[]
    for i in os.listdir(path):
        file_name=os.path.join(path,i)
        all_file.append(file_name)
    return all_file
input_path=input("請輸出目標(biāo)文件夾:")
threshold=int(input("請輸入清晰度閾值:"))
orign_path=os.path.join(os.path.abspath('.'),'img')
resoure_file_path = os.path.join(orign_path, input_path)  # 圖片所在文件夾
vage_file_path=os.path.join(orign_path,'vague')
clear_file_path=os.path.join(orign_path,'clear')
if not os.path.exists(vage_file_path):
        os.mkdir(vage_file_path)
if not os.path.exists(clear_file_path):
        os.mkdir(clear_file_path)
all_img_path=get_all_file(resoure_file_path)
for img_path in all_img_path:
    img_name=img_path.split('\\')[-1]
    dst=os.path.join(vage_file_path,img_name)
    if getImageVar(cv2.imread(img_path))>threshold:
        dst = os.path.join(clear_file_path, img_name)
    shutil.copyfile(img_path, dst)

打包成exe:

pyinstaller -F work.py

使用

首先準(zhǔn)備一個(gè)img文件夾和img_cls.exe

img文件夾中包含存放需要分類的圖片的文件夾自定義(如test_img)以及將來的兩個(gè)結(jié)果文件夾vagueclear

雙擊執(zhí)行exe文件,輸入自定義和清晰度門限(高于閾值是清晰,低于閾值是模糊)

結(jié)束之后得到:

兩個(gè)分類文件夾(復(fù)制過來的 原圖片沒動(dòng))

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • pycharm 實(shí)現(xiàn)本地寫代碼,服務(wù)器運(yùn)行的操作

    pycharm 實(shí)現(xiàn)本地寫代碼,服務(wù)器運(yùn)行的操作

    這篇文章主要介紹了pycharm 實(shí)現(xiàn)本地寫代碼,服務(wù)器運(yùn)行的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 詳解python調(diào)用cmd命令三種方法

    詳解python調(diào)用cmd命令三種方法

    這篇文章主要介紹了詳解python調(diào)用cmd命令三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python3利用Axes3D庫畫3D模型圖

    python3利用Axes3D庫畫3D模型圖

    這篇文章主要為大家詳細(xì)介紹了python3利用Axes3D庫畫3D模型圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python離線安裝各種庫及pip的方法

    Python離線安裝各種庫及pip的方法

    這篇文章主要介紹了Python離線安裝各種庫及pip的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python3的輸入方式及多組輸入方法

    python3的輸入方式及多組輸入方法

    今天小編就為大家分享一篇python3的輸入方式及多組輸入方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 深入解析Python中BeautifulSoup4的基礎(chǔ)知識與實(shí)戰(zhàn)應(yīng)用

    深入解析Python中BeautifulSoup4的基礎(chǔ)知識與實(shí)戰(zhàn)應(yīng)用

    BeautifulSoup4正是一款功能強(qiáng)大的解析器,能夠輕松解析HTML和XML文檔,本文將介紹BeautifulSoup4的基礎(chǔ)知識,并通過實(shí)際代碼示例進(jìn)行演示,感興趣的可以了解下
    2024-02-02
  • 總結(jié)分析python數(shù)據(jù)化運(yùn)營關(guān)聯(lián)規(guī)則

    總結(jié)分析python數(shù)據(jù)化運(yùn)營關(guān)聯(lián)規(guī)則

    本文內(nèi)容主要介紹了python數(shù)據(jù)化運(yùn)營中關(guān)聯(lián)規(guī)則的一般應(yīng)用場景,以及關(guān)聯(lián)規(guī)則的實(shí)現(xiàn),并例舉了適應(yīng)的應(yīng)用示例,方便大家更直觀的理解應(yīng)用
    2021-08-08
  • Python+MySQL隨機(jī)試卷及答案生成程序的示例代碼

    Python+MySQL隨機(jī)試卷及答案生成程序的示例代碼

    這篇文章主要介紹了Python+MySQL隨機(jī)試卷及答案生成程序的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Python中six模塊基礎(chǔ)用法

    Python中six模塊基礎(chǔ)用法

    在本篇文章里小編給大家分享的是關(guān)于Python中six模塊基礎(chǔ)用法以及相關(guān)知識點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-12-12
  • python tkinter組件擺放方式詳解

    python tkinter組件擺放方式詳解

    這篇文章主要介紹了python tkinter組件擺放方式詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評論