Получение черно-белого изображения при выполнении поворота? - PullRequest
0 голосов
/ 03 июня 2019

Я хочу повернуть свое изображение на 45 градусов.Я определил функцию для того же.Когда я запускаю его поверх моих RGB-изображений, он сохраняется как изображения в градациях серого?

def rotateImage(image, angle):
    row,col = image.shape
    center=tuple(np.array([row,col])/2)
    rot_mat = cv2.getRotationMatrix2D(center,angle,1.0)
    new_image = cv2.warpAffine(image, rot_mat, (col,row))
    return new_image


rotate_img_path = '../data/rotate_45_img'
rotate_mask_path = '../data/rotate_45_mask'
real_img_path = '../data/img'
real_mask_path = '../data/mask'


for img in os.listdir(real_img_path):
    edge_img = cv2.imread(os.path.join(real_img_path,img))
    edges = rotateImage(edge_img, 45)
    cv2.imwrite(os.path.join(rotate_img_path, img), edges)
print("Finished Copying images")

for img in os.listdir(real_mask_path):
    edge_img = cv2.imread(os.path.join(real_mask_path,img))
    edges = rotateImage(edge_img, 45)
    cv2.imwrite(os.path.join(rotate_mask_path, img), edges)
#     cv2.imwrite('edge_' + '.jpg', edges)
print("Finished Copying masks")

1 Ответ

1 голос
/ 04 июня 2019

Подсказка здесь может быть

row,col = image.shape

, которая вызвала бы ошибку, если бы image было трехмерным (то есть цветным с отдельными каналами для B, G и R) вместо двух (то есть, оттенков серого). Если вы не читаете изображения RGB с кодом, не показанным здесь, это означает, что ваши изображения уже в оттенках серого.

...