在提供的代码中,你对检测到的人脸进行了以下处理:

  1. 裁剪 (Crop): 使用 gray[y:y + w, x:x + h] 从原始图像中提取人脸区域。
  2. 缩放 (Resize): 使用 cv2.resize(face, (100, 100)) 将人脸区域缩放至 100x100 像素。
  3. 数值转换 (Type Casting): 将像素值转换为浮点数并除以 255,将像素值归一化至 0-1 之间。
  4. 维度扩展 (Expand Dimensions): 使用 np.expand_dims(face, axis=0) 将人脸数据扩展为四维张量,以便用于深度学习模型。扩展后的维度为 (batch_size, channels, height, width)。

由于你的代码中 batch_size=1(处理单个图像)、channels=1(灰度图像)、height=100 以及 width=100,因此 face.shape 的结果为 (1, 1, 100, 100)

简而言之,face.shape 的结果是根据你对人脸图像进行的预处理操作决定的,它反映了最终用于深度学习模型的人脸特征的维度。

Python OpenCV 人脸识别:理解 face.shape 为 (1, 100, 100) 的原因

原文地址: https://www.cveoy.top/t/topic/jqyU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录