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

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


1. 背景

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

  执行前未画边框的图片:
未画边框的图片

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. 运行结果

  执行后已画边框的图片:
执行后已画边框的图片

  注意:文件夹中图片的名称不能是中文,否则OpenCV无法读取图片。若文件夹中图片名字含有中文,程序运行结果如下:
图片名为中文时程序运行结果

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值