批量过滤模糊的图片

该代码段使用OpenCV库计算图像的Laplacian清晰度,并基于预设阈值保存超过阈值的图像到指定输出文件夹。同时,它还利用xlwt库将清晰度值写入Excel文件以供后续分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import os
import cv2
import xlwt

# 设置阈值
threshold = 100
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 指定输入和输出文件夹
input_folder = 'G:\\0321_A'
output_folder = './output'
i = 0
# 遍历文件夹中的所有文件
for file_name in os.listdir(input_folder):

    # 加载图像
    image = cv2.imread(os.path.join(input_folder, file_name), cv2.IMREAD_GRAYSCALE)

    # 如果无法加载图像,则跳过
    if image is None:
        continue

    # 使用Laplacian算子计算清晰度
    laplacian_image = cv2.Laplacian(image, cv2.CV_16S)
    focus_measure = cv2.meanStdDev(laplacian_image)[1][0] ** 2
    value = float(focus_measure)

    # 如果清晰度超过指定阈值,则保存图像
    if focus_measure > threshold:
        print(i)
        # output_file_name = os.path.join(output_folder, file_name)
        # cv2.imwrite(output_file_name, image)
        # print(f'Saved {output_file_name}')
        i = i + 1
        worksheet.write(i+1, 1, value)
        # print(focus_measure)
        workbook.save('data3.xls')

首先保存一个xls文件分析,所有的文件清晰程度都是多少,方便下面选定阈值。

import os
import cv2
import xlwt

# 设置阈值
threshold = 185

# 指定输入和输出文件夹
input_folder = 'G:\\0321_A'
output_folder = 'G:\\0327_A'
i = 0
# 遍历文件夹中的所有文件
for file_name in os.listdir(input_folder):

    # 加载图像
    image = cv2.imread(os.path.join(input_folder, file_name), cv2.IMREAD_GRAYSCALE)

    # 如果无法加载图像,则跳过
    if image is None:
        continue

    # 使用Laplacian算子计算清晰度
    laplacian_image = cv2.Laplacian(image, cv2.CV_16S)
    focus_measure = cv2.meanStdDev(laplacian_image)[1][0] ** 2

    # 如果清晰度超过指定阈值,则保存图像
    if focus_measure > threshold:
        print(i)
        output_file_name = os.path.join(output_folder, file_name)
        cv2.imwrite(output_file_name, image)
        print(f'Saved {output_file_name}')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值