欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python OpenCV:对文件夹中所有图片画边框并保存

程序员文章站 2024-01-20 20:44:40
...

Python OpenCV:对文件夹中所有图片画边框并保存


1. 背景

  平常运行程序后需要对结果进行截图,但部分截图边框模糊。现希望对文件夹1中的图片画出其边框,并保存在文件夹2中,方便使用。
Python OpenCV:对文件夹中所有图片画边框并保存

  执行前未画边框的图片:
Python OpenCV:对文件夹中所有图片画边框并保存

2. 代码


# 系统:window7
# 编程工具:PyCharm
# 编程语言:python
# 前置条件:已安装好opencv相关环境

# coding:utf-8
import os
import cv2

# 主函数
if __name__ == '__main__':
    # 读取所有图片的路径
    path_original = "C://Users//wyh//Desktop//program//1"  # 原文件夹,要求文件夹只含有图片
    path_target = "C://Users//wyh//Desktop//program//2"  # 目标文件夹
    path_images = os.listdir(path_original)
    for path_image in path_images:
        path_absolute = '{}//{}'.format(path_original, path_image)  # 构造绝对路径
        # 读取图片
        img_origin = cv2.imread(path_absolute)
        if img_origin is None:
            print('{}:读取失败!'.format(path_absolute))
            continue
        h, w, p = img_origin.shape
        # 画边框
        cv2.rectangle(img_origin, (0, 0), (w - 1, h - 1), (0, 0, 0), 1)
        # 显示图片
        cv2.imshow("image", img_origin)
        cv2.waitKey(100)
        # 保存截图
        path_save = '{}//{}'.format(path_target, path_image)  # 构造绝对路径
        cv2.imwrite(path_save, img_origin)
    print("执行结束。")

3. 运行结果

  执行后已画边框的图片:
Python OpenCV:对文件夹中所有图片画边框并保存

  注意:文件夹中图片的名称不能是中文,否则OpenCV无法读取图片。若文件夹中图片名字含有中文,程序运行结果如下:
Python OpenCV:对文件夹中所有图片画边框并保存