我对 cv2.imiwrite
有疑问
有两个文件夹,photos
用于普通图像,gray
文件夹用于保存已更改的普通照片的灰度图像
我想读取一张普通图像并更改为灰度,然后保存灰度
这是我的代码
import cv2
import os
import glob
count = 0
os.chdir('./photos')
for file in glob.glob('*.jpg'):
image = cv2.imread(file)
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imwrite('./gray/grayscale{}.jpg'.format(count), image_gray)
count += 1
image = cv2.imread(file)
有一个数组,因此 image_gray = cv2.cvtColor(image, cv2.COLORBGR2GRAY)
也有一个数组。但为什么我的 cv2.imwrite
代码没有将灰度图像保存到文件夹中?我在这个论坛上搜索过答案,但没有人回答我的问题。任何答案将不胜感激。提前致谢!
最佳答案
请不要这样做,尤其是 chdir()
等:
os.chdir('./photos')
for file in glob.glob('*.jpg'):
image = cv2.imread(file)
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imwrite('./gray/grayscale{}.jpg'.format(count), image_gray)
count += 1
相反,您可以更轻松地使用:
if not os.path.isdir( 'gray' ) :
os.mkdir( 'gray' ) # make sure the directory exists
for i, file in enumerate(glob.glob('photos/*.jpg')):
image = cv2.imread(file)
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imwrite('./gray/grayscale_%03d.jpg' % i, image_gray)
关于python - cv2.imwrite 不保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58653038/