python - 我在 python 中遇到 OpenCV 错误...我的代码如下所示?请尽快解决。提前致谢
问题描述
请解决这些问题,当我运行此代码时,它给了我一个不可接受的错误 =“”OpenCV 错误:调整大小时断言失败(ssize.width > 0 && ssize.height > 0),文件 /build/opencv-L2vuMj/ opencv-3.2.0+dfsg/modules/imgproc/src/imgwarp.cpp,第 3492 行""
代码:
import numpy as np
import dlib
import cv2
import face_recognition
import os
path = 'images'
image = []
classNames = []
myList = os.listdir(path)
for cl in myList:
curImg = cv2.imread(f'{path}/{cl}')
image.append(curImg)
classNames.append(os.path.splitext(cl)[0])
# print(classNames)
def findEncodings(image):
encodeList = []
for img in image:
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
encode = face_recognition.face_encodings(img)[0]
encodeList.append(encode)
return encodeList
encodeListKnown = findEncodings(image)
print(len("Encoding Complete"))
cap = cv2.VideoCapture()
# print(cap)
while True:
success, img = cap.read()
imgS = cv2.resize(img, (0,0), None, 0.25, 0.25)
imgS = cv2.cvtColor(imgS, cv2.COLOR_BGR2RGB)
facesCurFrames = face_recognition.face_locations(imgS)
encodesCurFrames = face_recognition.face_encodings(imgS,
facesCurFrames)
for encodeFace,faceLoc in zip(encodesCurFrames,
facesCurFrames):
matches =
face_recognition.compare_faces(encodeListKnown,encodeFace)
faceDis =
face_recognition.face_distance(encodeListKnown,encodeFace)
print(faceDis)
解决方案
(0, 0)
不是(width, height)
调整图像大小的有效元组。看起来您想通过缩放来调整图像大小,在这种情况下,您可以传递None
而不是大小元组:
imgS = cv2.resize(img, None, fx=0.25, fy=0.25)
将在两个维度上将图像缩放 0.25。
推荐阅读
- python - 将图像导入 Numpy 数组,然后分为训练集和测试集
- angular - Angular - CORS:读取失败请求的响应
- ios - 我应该使用 UserDefaults 还是 Core Data?
- python - 通过 CLI 调用 lambda 函数时出错
- google-apps-script - 如果日期不是 Google Apps 脚本中的今天日期,如何停止程序执行
- latex - 如何使用 biblatex 删除书目列表中的标签?
- javascript - window.matchMedia 在 Safari 中不起作用
- sql-server - 在两个日期时间之间分组
- python - Tradingview pinescript - 需要在前 2 天的高点和低点绘制水平虚线
- scala - Spark Json - 使用 nullable=false 应用架构