python - 在 Python 中使用 OpenCv2 编写多个图像
问题描述
我得到了一个充满图像的数据集。我的目标是将这些图像转换为灰度。我可以用一张图片轻松地做到这一点,但我需要用多张图片来做。这是我的代码;
import cv2
import glob
path = "/path/*.jpg"
for file in glob.glob(path):
img = cv2.imread(file)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray image', gray)
cv2.imwrite('/path/cat' + '_gray.jpg', gray)
当我运行这个脚本时,它只转换一个图像,但我的目标是转换路径中的所有图像。我真的是图像处理和 OpenCv2 模块的初学者。现在已经感谢您的帮助。
解决方案
'/path/cat' + '_gray.jpg'
/path/cat_gray.jpg
无论输入文件名如何,总是给你。
您可能希望在那里使用原始文件名的某些部分,您可以使用os.path
模块中的函数找到它。
例如:
import cv2
import glob
import os.path
path = "/path/*.jpg"
for file in glob.glob(path):
img = cv2.imread(file)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray image', gray)
basename = os.path.basename(file) # e.g. MyPhoto.jpg
name = os.path.splitext(basename)[0] # e.g. MyPhoto
cv2.imwrite('/path/' + name + '_gray.jpg', gray)
推荐阅读
- dask - 将 xarray 与自定义函数一起使用并重新采样
- python - 从像计数器这样的列表列表中计算每个组合的最快方法是什么?
- angular - 不能绑定到“ngModel”,因为它不是“输入”的已知属性?
- java - 如何用 rxjava 替换使用 volatile 变量的线程间通信?
- python - 在损失函数中索引 tf 变量
- dependency-injection - 升级后使用 Autofac 在 NServiceBus 中注册依赖关系
- caching - Android Webview 的本地文件路径
- python - 形状计算器循环
- ios - 将 UIImageView 调整为 UILabel 的高度
- elasticsearch - 如何扩展弹性搜索日期范围直方图聚合查询?