我写了一个代码来旋转图像并保存它们。所以我用OpenCv保存旋转的图像。保存旋转后的图像后,它在图像上变为蓝色。
操作系统:Ubuntu 16.04
这是代码:
from scipy.ndimage import rotate
from scipy.misc import imread, imshow
import cv2
count = 0
while True:
if count<230:
filename = 'frame'+str(count)+'.jpg'
print(filename)
img = imread(filename)
rotate_img = rotate(img, 90)
cv2.imwrite(filename,rotate_img)
count = count + 1
continue
else :
break
为什么颜色会这样变化?我该怎么办? 任何帮助,将不胜感激!谢谢您的进阶!
图片(保存前):
图片(保存后):
答案 0 :(得分:2)
这里的问题是,您正在使用scipy的imread
创建RGB图像,并使用OpenCV imwrite
假设它们是BGR来写入图像。
反转图像的第一和第三通道。
答案 1 :(得分:0)
我可以解决问题。我必须将图像的颜色转换为RGB颜色。
cv2.cvtColor(rotate_img, cv2.COLOR_BGR2RGB)
这是代码:
from scipy.ndimage import rotate
from scipy.misc import imread, imshow
import cv2
count = 0
while True:
if count<230:
filename = 'frame'+str(count)+'.jpg'
print(filename)
img = imread(filename)
rotate_img = rotate(img, 90)
#convert color of image before saving
rgbImg = cv2.cvtColor(rotate_img, cv2.COLOR_BGR2RGB)
cv2.imwrite(filename,rgbImg)
count = count + 1
continue
else :
break