小编Har*_* VA的帖子

如何使用 OpenCV 裁剪图像中的白斑并制作护照尺寸的照片

我是 OpenCV 的新手,我的图像需要裁剪为完美的护照尺寸照片。我有成千上万的图像需要像这样自动裁剪和拉直。如果图像太模糊且无法裁剪,我需要将其复制到被拒绝的文件夹中。我尝试使用 haar 级联,但这种方法只给了我面子。但我需要一张照片裁剪背景的脸。谁能告诉我如何在 OpenCV 或其他任何代码中编写代码?

            gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
            faceCascade = cv2.CascadeClassifier(
                cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
            faces = faceCascade.detectMultiScale(
                gray,
                scaleFactor=1.3,
                minNeighbors=3,
                minSize=(30, 30)
            )
            if(len(faces) == 1):
                for (x, y, w, h) in faces:
                    if(x-w < 100 and y-h < 100):
                        ystart = int(y-y*int(y1)/100)
                        xstart = int(x-x*int(x1)/100)
                        yend = int(h+h*int(y1)/100)
                        xend = int(w+w*int(y2)/100)
                        roi_color = img[ystart:y + yend, xstart:x + xend]
                        cv2.imwrite(path, roi_color)

                    else:
                        rejectedCount += 1
                        cv2.imwrite(path, img)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

python opencv

9
推荐指数
3
解决办法
338
查看次数

标签 统计

opencv ×1

python ×1