为了账号安全,请及时绑定邮箱和手机立即绑定

在 Python 中使用 OpenCv2 编写多个映像

在 Python 中使用 OpenCv2 编写多个映像

长风秋雁 2022-09-06 19:43:09
我得到了一个充满图像的数据集。我的目标是将此图像转换为灰度。我可以很容易地用一个图像做到这一点,但我需要做多个图像。这是我的代码;import cv2import globpath = "/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模块的初学者。现在已经感谢您的帮助。
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

'/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)


查看完整回答
反对 回复 2022-09-06
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信