【发布时间】:2021-06-15 16:36:18
【问题描述】:
我正在 TensorFlow 和 openCV 上制作应用程序。
我知道您可以将 keras 模型(.h5 或 .hdf5)传递给 .pb,从而使用 cv2 读取它。但我想知道 cv.blobFromImage 是否可以用于 Keras model.predict(...) 方法。
如果我尝试直接传递它,则会出现错误。由于 blob 的返回顺序与 keras 模型中所需的顺序不同。
例如:
frameSrc = cv2.imread('example.jpg')
# Correct Keras model input.
frameDst = cv2.resize(frameSrc.copy(), (256, 256), interpolation=cv2.INTER_LINEAR)
frameDst = cv2.cvtColor(frameDst, cv2.COLOR_BGR2RGB)
frameDst = np.array([frameDst])
frameDst = frameDst / 255.
# frameDst.shape = (1, 256, 256, 3)
# cv2 blob.
blob = cv2.dnn.blobFromImage(frameSrc.copy(), scalefactor=1/255., size=(256, 256), swapRB=False)
# blob.shape = (1, 3, 256, 256)
【问题讨论】:
标签: python numpy tensorflow opencv keras