python:并发编程(十六)

前言

本文将和大家一起探讨python并发编程的实际运用,会以一些我实际使用的案例,或者一些典型案例来分享。本文使用的案例是我实际使用的案例,是基于之前效率不高的代码改写成并发编程的。让我们来看看改造的过程,这样就会对并发编程的高效率有个清晰地认知,也会在改造过程中学到一些知识。

本文为python并发编程的第十六篇,上一篇文章地址如下:

python:并发编程(十五)_Lion King的博客-CSDN博客

下一篇文章地址如下:

(暂无)
 

一、改造对象

1、案例地址

python:根据灰度值检查成像是否存在黑图情况_python 判断图片是否有黑边_Lion King的博客-CSDN博客

import os
from PIL import Image
 
def image_gray(img):
    # 打开图片
    img = Image.open(img)
 
    # 计算平均灰度值
    gray_sum = 0
    count = 0
    for x in range(img.width):
        for y in range(img.height):
            if img.mode == "RGB":
                r, g, b = img.getpixel((x, y))
                gray_sum += (r + g + b) / 3
            elif img.mode == "L":
                gray_value = img.getpixel((x, y))
                gray_sum += gray_value
            count += 1
 
    avg_gray = gray_sum / count
    return avg_gray
 
def find_image(folder_path):
    # 定义一个列表存储图片路径
    images = []
    # 遍历文件夹下的所有文件
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            # 处理每个文件,将其添加到列表中
            images.append(file_path)
    return images
 
def assert_run(folder_path):
    images=find_image(folder_path)
    for img in images:
        gray = image_gray(img)
        # 灰度值小于50,将认为是黑图
        if gray < 50:
            print(img, ":", gray)
 
if __name__ == "__main__":
    # image_gray()
    # find_image()
    folder_path = r'D:\黑图'
    assert_run(folder_path)
 

这里简单介绍一下这段代码:这段代码是一个简单的图像处理程序,用于找出指定文件夹中的黑图像。代码首先定义了一个image_gray函数,用于计算图像的平均灰度值。然后定义了一个find_image函数,用于遍历指定文件夹下的所有文件,并返回图像文件的路径列表。最后,在assert_run函数中,使用find_image函数获取指定文件夹中的图像路径列表,并对每个图像调用image_gray函数计算平均灰度值,如果平均灰度值小于50,则打印该图像的路径和灰度值。

整体流程如下:

(1)导入必要的模块:os用于操作文件和文件夹,PIL用于图像处理。

(2)定义image_gray函数:打开图像文件,计算图像的平均灰度值。

(3)定义find_image函数:遍历指定文件夹下的所有文件,返回图像文件的路径列表。

(4)定义assert_run函数:调用find_image函数获取指定文件夹中的图像路径列表,对每个图像调用image_gray函数计算平均灰度值,如果小于50则打印图像路径和灰度值。

(5)在if __name__ == "__main__":代码块中,指定一个文件夹路径作为参数,调用assert_run函数执行图像处理。

请注意,代码中使用了PIL库来处理图像,确保你已经安装了该库,可以使用pip install Pillow来安装。此外,要确保指定的文件夹中包含图像文件,并且文件的格式受PIL库支持。

你可能感兴趣的:(python,python)