如何在裁剪图像中获取 x、y、w、h 的每个值?
How to get each value of x,y,w,h in this crop image?
我想问一下。在opencv中有cv2.rectangle来构建感兴趣的对象矩形。在我得到用矩形表示的对象兴趣之后,我想得到感兴趣区域框。为此,我使用了 crop = frame[y:y+h, x:x+w]
.
现在我想获取那个裁剪框的 x,y,w,h
的值。怎么做?
这是我的代码
while bol:
capture = cv2.VideoCapture(0)
ret, frame = capture.read()
#load object detector
path = os.getcwd()+'\haarcascade_frontalface_default.xml'
face_cascade = cv2.CascadeClassifier(path)
#convert image to grayscale
imgGray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
for (x, y, w, h) in face_cascade.CascadeClassifier(imgGray):
cv2.rectangle(frame, (x,y), (x+w, y+h), (255,255,255), 3)
_croppedImage = frame[y:y+h, x:x+w]
ROI = _croppedImage
如何获取 _croppedImage
的 x,y,w,h
的值?
_croppedImage 的x & y
值不重要,意义不大。这是因为 _croppedImage 只是从另一张图片中裁剪出的一张图片。
要获得_croppedImage 的w & h
,您可以使用.shape() 方法。 w & h
图像的简单分别是图像的宽度和高度。
h, w = _croppedImage[:2]
我想问一下。在opencv中有cv2.rectangle来构建感兴趣的对象矩形。在我得到用矩形表示的对象兴趣之后,我想得到感兴趣区域框。为此,我使用了 crop = frame[y:y+h, x:x+w]
.
现在我想获取那个裁剪框的 x,y,w,h
的值。怎么做?
这是我的代码
while bol:
capture = cv2.VideoCapture(0)
ret, frame = capture.read()
#load object detector
path = os.getcwd()+'\haarcascade_frontalface_default.xml'
face_cascade = cv2.CascadeClassifier(path)
#convert image to grayscale
imgGray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
for (x, y, w, h) in face_cascade.CascadeClassifier(imgGray):
cv2.rectangle(frame, (x,y), (x+w, y+h), (255,255,255), 3)
_croppedImage = frame[y:y+h, x:x+w]
ROI = _croppedImage
如何获取 _croppedImage
的 x,y,w,h
的值?
_croppedImage 的x & y
值不重要,意义不大。这是因为 _croppedImage 只是从另一张图片中裁剪出的一张图片。
要获得_croppedImage 的w & h
,您可以使用.shape() 方法。 w & h
图像的简单分别是图像的宽度和高度。
h, w = _croppedImage[:2]