查找在opencv python中绘制的矩形是否在屏幕上可见
我有一些代码,它将使用查找在opencv python中绘制的矩形是否在屏幕上可见,python,opencv,Python,Opencv,我有一些代码,它将使用cv2.rectangle函数根据其他参数绘制一个矩形。这是人脸检测程序的一部分。使用imshow在屏幕上显示图像中的矩形。但是,由于矩形尺寸的可变性质,有时矩形不可见。在绘制图像中矩形的代码行之后,如何检测矩形是否可见。我想要这个,这样我就可以在没有检测到人脸时找到它。这是我的代码: import numpy as np import cv2 # multiple cascades: https://github.com/Itseez/opencv/tree/maste
cv2.rectangle
函数根据其他参数绘制一个矩形。这是人脸检测程序的一部分。使用imshow
在屏幕上显示图像中的矩形。但是,由于矩形尺寸的可变性质,有时矩形不可见。在绘制图像中矩形的代码行之后,如何检测矩形是否可见。我想要这个,这样我就可以在没有检测到人脸时找到它。这是我的代码:
import numpy as np
import cv2
# multiple cascades: https://github.com/Itseez/opencv/tree/master/data/haarcascades
# https://github.com/Itseez/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# https://github.com/Itseez/opencv/blob/master/data/haarcascades/haarcascade_eye.xml
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
cap = cv2.VideoCapture(0)
while 1:
ret, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x + (w / 4), y + (h / 4)),(x+(3 * w / 4),y + (3 * h / 4)),(255,0,0),2)
cv2.imshow('img',img)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
谢谢 在while循环中添加打印透镜(面)
。如果为零,则未检测到人脸。没有矩形