求助,关于opencv图像数据 src data type = 17 is not supported

import numpy as np
import cv2
from skimage.metrics import structural_similarity as ssim

img_list = ['train_set/train01.jpg',
            'train_set/train02.jpg',
            'train_set/train03.jpg',
            'train_set/train04.jpg',
            'train_set/train05.jpg',
            'train_set/train06.jpg',
            'train_set/train07.jpg',
            'train_set/train08.jpg',
            'train_set/train09.jpg',
            'train_set/train10.jpg']
def compute_ssim(img1_path, img2_path):
      imageA = cv2.imread(img1_path)
      imageB = cv2.imread(img2_path)

      imageB = np.resize(imageB, (imageA.shape[0], imageA.shape[1], imageA.shape[2]))

      grayA = cv2.cvtColor(imageA, cv2.COLOR_BGR2GRAY)
      grayB = cv2.cvtColor(imageB, cv2.COLOR_BGR2GRAY)
     (score, diff) = ssim(grayA, grayB, full=True)

    return score
def get_S1_list():
    rst_list1 = []
    for i in range(len(img_list)):
        for j in range(len(img_list)):
            x = img_list[i]
            y = img_list[j]

            if j <= i:
                continue
            if i != j:
                v = compute_ssim(x, y)
            rst_list1.append(v)
    rst = np.array(rst_list1).reshape((len(rst_list1), 1))
    return rst

print(get_S1_list())

报错:

Traceback (most recent call last):
  File "C:/Users/yxyst/Desktop/c1983717/4_sim_cals.py", line 52, in <module>
    print(get_S1_list())
  File "C:/Users/yxyst/Desktop/c1983717/4_sim_cals.py", line 47, in get_S1_list
    v = compute_ssim(x, y)
  File "C:/Users/yxyst/Desktop/c1983717/4_sim_cals.py", line 31, in compute_ssim
    grayB = cv2.cvtColor(imageB, cv2.COLOR_BGR2GRAY)
TypeError: src data type = 17 is not supported

一样的问题,参考
https://stackoverflow.com/questions/60626980/opencv-type-17-is-not-supported

你想把B的尺寸resize成A对吧,如果不是unit8类型的问题的话,试试后面再加个参数,比如缩小cv2.resize(imageB,(imageA.shape[0], imageA.shape[1], imageA.shape[2]), interpolation=cv2.INTER_AREA)

cvtColor是彩色转灰度函数,你要保证你读取出来的imageB是彩色图类型。