很奇怪的物体获取文件夹图片出错,不管用什么方法获取都是出错,错误都是获取文件出错获取的路径是正确的图片文件名是错误的
很难确定出错的原因。以下是可能导致你遇到这种问题的一些原因:
文件名或路径错误:请确保你提供的文件名与文件夹中的文件名完全匹配,并且路径正确。另外,如果你的文件是多个单词组成的,确保它们用下划线而不是空格分隔。
文件夹或文件没有读取访问权限:请检查文件或文件夹是否有正确的访问权限。如果没有,你可能无法读取它们。
图片格式不正确:请确保你尝试打开的文件是一个图片文件,它的格式被支持。你可以尝试打开其他图片文件,检查它们是否可以正常显示。
文件过大:如果你的文件非常大,可能需要更长时间才能读取。尝试使用缩略图或减小图片大小,看是否有所改善。
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')