How to zoom on mouth only in face?

for starters, there’s a simple typo:

you want

roi_gray = gray[y:y + h, x:x + w]

(wont change much, since most face cascades are trained on quadratic rects)

also, you should not use the same MINSIZE to find eyes and faces, think of it.

in the end, the cascades approach is quite brittle, we got better tools nowadays,
e.g try the dnn based face detection here
(which also comes with builtin landmarks to detect the mouth !)