保存为灰色的增强图像(imgaug、imageio、opencv)
Augmented images saved as grey (imgaug,imageio, opencv)
我开始了我的第一个计算机视觉项目,想尝试图像增强来改进我的数据集。
我用 imgaug 试了一下,一切正常,只要我只显示它们。但是一旦我将它们保存到文件中,它们就会变成 greyisch/blue.
这是我使用的代码:
import cv2
import imgaug.augmenters as iaa
import imageio as iio
import numpy as np
path = ('C:\Users\kathr\Desktop\JPG\cards.jpg')
img = cv2.imread(path)
augmentation= iaa.Sequential([
iaa.Crop(px=(0,2)),
iaa.Flipud(0.5),
iaa.Fliplr(0.5),
iaa.Sometimes(
0.5,
iaa.GaussianBlur(sigma=(0,0.5)),
)] ,
random_order = True)
image = cv2.imread(path)
cv2.imshow('orign', img)
cv2.waitKey(100)
images = np.array([image for _ in range(32)], dtype=np.uint8)
images_aug = augmentation.augment_images(images)
for i in range(32):
iio.imwrite('C:\Users\kathr\Desktop\Aug\' + str(i) + 'aug.jpg', images_aug[i], format= '.jpg')
Opencv 按 B、G、R 顺序读取图像。在保存之前将它们转换为 R、G、B 将解决您使用 imageio 的问题。查看此 了解更多信息。
for i in range(32):
images_aug[i] = cv2.cvtColor(images_aug[i], cv2.COLOR_BGR2RGB)
iio.imwrite('C:\Users\kathr\Desktop\Aug\' + str(i) + 'aug.jpg', images_aug[i], format= '.jpg')
既然你已经在使用 opencv,你也可以直接用 opencv 保存它们,避免转换。
for i in range(32):
cv2.imwrite('C:\Users\kathr\Desktop\Aug\' + str(i) + 'aug.jpg', images_aug[i])
我开始了我的第一个计算机视觉项目,想尝试图像增强来改进我的数据集。 我用 imgaug 试了一下,一切正常,只要我只显示它们。但是一旦我将它们保存到文件中,它们就会变成 greyisch/blue.
这是我使用的代码:
import cv2
import imgaug.augmenters as iaa
import imageio as iio
import numpy as np
path = ('C:\Users\kathr\Desktop\JPG\cards.jpg')
img = cv2.imread(path)
augmentation= iaa.Sequential([
iaa.Crop(px=(0,2)),
iaa.Flipud(0.5),
iaa.Fliplr(0.5),
iaa.Sometimes(
0.5,
iaa.GaussianBlur(sigma=(0,0.5)),
)] ,
random_order = True)
image = cv2.imread(path)
cv2.imshow('orign', img)
cv2.waitKey(100)
images = np.array([image for _ in range(32)], dtype=np.uint8)
images_aug = augmentation.augment_images(images)
for i in range(32):
iio.imwrite('C:\Users\kathr\Desktop\Aug\' + str(i) + 'aug.jpg', images_aug[i], format= '.jpg')
Opencv 按 B、G、R 顺序读取图像。在保存之前将它们转换为 R、G、B 将解决您使用 imageio 的问题。查看此
for i in range(32):
images_aug[i] = cv2.cvtColor(images_aug[i], cv2.COLOR_BGR2RGB)
iio.imwrite('C:\Users\kathr\Desktop\Aug\' + str(i) + 'aug.jpg', images_aug[i], format= '.jpg')
既然你已经在使用 opencv,你也可以直接用 opencv 保存它们,避免转换。
for i in range(32):
cv2.imwrite('C:\Users\kathr\Desktop\Aug\' + str(i) + 'aug.jpg', images_aug[i])