用的站内的,出这个问题,搜了说是格式不匹配也不知道有哪些要改
引用 皆我百晓生 小程序回复内容作答:
这个错误通常是由于矩阵类型不匹配引起的。当你使用 OpenCV 的 gemm 函数时,输入的矩阵必须具有相同的类型。
要解决这个问题,你可以尝试以下几个步骤:
cv2.imread()
函数加载图像时指定 cv2.IMREAD_UNCHANGED
参数来保留原始的图像类型。img1 = cv2.imread('image1.jpg', cv2.IMREAD_UNCHANGED)
img2 = cv2.imread('image2.jpg', cv2.IMREAD_UNCHANGED)
np.array()
函数指定 dtype
参数来设置矩阵的数据类型。matrix1 = np.array([[1, 2], [3, 4]], dtype=np.float32)
matrix2 = np.array([[5, 6], [7, 8]], dtype=np.float32)
print(img1.shape)
print(img2.shape)
print(matrix1.shape)
print(matrix2.shape)
cv2.transpose()
或 NumPy 的数组转置来调整矩阵的维度。img2 = cv2.transpose(img2)
希望这些步骤能帮助你解决 gemm 函数的错误。如果问题仍然存在,请提供更多的代码和错误信息,以便我能更好地帮助你。