很奇怪的物体获取文件夹图片出错,不管用什么方法获取都是出错

很奇怪的物体获取文件夹图片出错,不管用什么方法获取都是出错,错误都是获取文件出错获取的路径是正确的图片文件名是错误的

img

很难确定出错的原因。以下是可能导致你遇到这种问题的一些原因:

文件名或路径错误:请确保你提供的文件名与文件夹中的文件名完全匹配,并且路径正确。另外,如果你的文件是多个单词组成的,确保它们用下划线而不是空格分隔。

文件夹或文件没有读取访问权限:请检查文件或文件夹是否有正确的访问权限。如果没有,你可能无法读取它们。

图片格式不正确:请确保你尝试打开的文件是一个图片文件,它的格式被支持。你可以尝试打开其他图片文件,检查它们是否可以正常显示。

文件过大:如果你的文件非常大,可能需要更长时间才能读取。尝试使用缩略图或减小图片大小,看是否有所改善。

import os
import cv2 as cv

image_path = r'D:\桌面\120\图片'
save_path = r'D:\桌面\11201图片1'

# 检查保存路径是否存在,如果不存在则创建
if not os.path.exists(save_path):
    os.makedirs(save_path)

# 遍历文件夹中的图片文件
image_files = os.listdir(image_path)
for image in image_files:
    if image.split('.')[-1] in ['bmp', 'jpg', 'jpeg', 'png', 'JPG', 'PNG']:
        name = image.rsplit('.', 1)[0]
        output_img_name = name + ".jpg"
        image_dir = os.path.join(image_path, image)
        src = cv.imread(image_dir)
        cv.imwrite(os.path.join(save_path, output_img_name), src)

print('FINISHED')

根据网络搜索的资料,推测应该是因为路径中有中文,所以导致使用imwrite()函数保存图片失败,如果文件夹名可以修改的话,可以修改为全英文路径名。

测试如下:

参考链接:


import os
import cv2 as cv

# https://blog.csdn.net/weixin_44387515/article/details/115906383
# 将文件夹名改为全英文或数字的名称
image_path = r'D:\desk\120\photo'
save_path = r'D:\desk\120\photo\photo1'

if not os.path.exists(save_path):
    os.makedirs(save_path)

image_file=os.listdir(image_path)
for image in image_file:

    #print("image=",image)
    if image.split('.')[-1] in ['bmp','jpg','jpeg','png','JPG','PNG']:
        s = image.rsplit('.',1)
       # print("s=",s)
        output_img_name = s[0]+".jpg"
       # print("output_img_name=",output_img_name)
        d = os.path.join(image_path,image)
       # print("d=",d)
        src = cv.imread(d)
        cv.imwrite(os.path.join(save_path,output_img_name),src)

print('FINISHED')