Python OpenCV:对文件夹中所有图片画边框并保存
程序员文章站
2024-01-20 20:44:40
...
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无法读取图片。若文件夹中图片名字含有中文,程序运行结果如下:
上一篇: 由浅入深学习Mysql(二)
下一篇: 快速排序的思想