¿Cómo recortar imágenes al tamaño de pasaporte en haarcascades usando opencv?

Harshith VA

Estoy tratando de convertir imágenes en fotos perfectas de tamaño pasaporte. Utilizo haarcascade_frontalface_default.xml para detectar caras y luego recortarlas. En la actualidad, solo las caras se recortan, pero necesito fondo, cabeza y hombro como se muestra en la salida requerida. Tengo varias imágenes como esta. ¿Qué cambios debo hacer en mi código para obtener automáticamente una foto tamaño pasaporte perfectamente recortada?

    import cv2
    import sys
    
    
    image = cv2.imread("D:/codes/python/document_scanner/Sample Photos/1 (27).jpeg")
    gray = cv2.cvtColor(image, 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)
    )
    
    print("[INFO] Found {0} Faces.".format(len(faces)))
    
    for (x, y, w, h) in faces:
        cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
        roi_color = image[y:y + h, x:x + w]
        print("[INFO] Object found. Saving locally.")
        # cv2.imwrite(str(w) + str(h) + '_faces.jpg', roi_color)
    
    
    cv2.imshow('image',roi_color)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

print("[INFO] Image faces_detected.jpg written to filesystem: ", status)

Aporte ingrese la descripción de la imagen aquí

Salida requerida

ingrese la descripción de la imagen aquí

En la actualidad solo me está poniendo cara ingrese la descripción de la imagen aquí

ARK1375

Una forma de hacerlo es mediante el uso de contornos de imagen.
Básicamente, convierta su imagen a blanco y negro (usando imread(imgPath , 00)), busque todos los contornos dentro de la imagen y elija el más grande por tamaño usando áreas de contorno. Este debería ser tu marco de fotos. Luego simplifique el contorno para recuperar un rectángulo perfecto. Luego, use el rectángulo para recortar su imagen original y debería estar listo para comenzar.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

¿Cómo cambiar el número de imágenes en cada fila al cambiar el tamaño de la página a 450px usando CSS?

Cambiar el tamaño de las imágenes usando openCV en Python

¿Cómo trabajar con imágenes de tamaño variable en CNN usando Keras?

¿Cómo trabajar con imágenes de tamaño variable en CNN usando Keras?

Cómo mantener la estructura de carpetas al convertir, cambiar el tamaño y mover imágenes usando powershell

Cómo recortar o cortar las imágenes en los bordes de las esquinas en forma de L con imagemagick

¿Cómo mantengo esta galería de imágenes en proporción al tamaño de la pantalla?

Cómo configurar el desplazamiento al recortar imágenes en imagemagick

Cómo unir 4 imágenes usando opencv en c ++

¿Cómo crear una cuadrícula / mortero de imágenes con tamaño dinámico manteniendo la relación de aspecto de las imágenes, sin recortar?

¿Cómo crear una cuadrícula / mortero de imágenes con tamaño dinámico manteniendo la relación de aspecto de las imágenes, sin recortar?

Cómo recortar una imagen en OpenCV usando Python

¿Cómo usar imagemagick para recortar los espacios en blanco de las imágenes al igual que el "recorte ()" de una cadena?

Cómo escalar imágenes usando tamaños de píxeles flotantes en Python PIL

¿Debería ajustarse el tamaño de las imágenes al mismo antes de la extracción de características visuales usando opencv?

Recortar imágenes con ImageMagic produce imágenes de tamaño incorrecto, ¿por qué?

Segmentar dos contornos en dos imágenes diferentes del mismo tamaño usando openCV-python

Segmentar dos contornos en dos imágenes diferentes del mismo tamaño usando openCV-python

Con antorcha o visión de antorcha, ¿cómo puedo cambiar el tamaño y recortar un lote de imágenes, y obtener tanto las escalas de cambio de tamaño como las nuevas imágenes?

Cómo recortar imágenes de la cámara

Cómo recortar una región de píxeles pequeños en una imagen usando OpenCv en Python

Cómo cambiar el tamaño de la imagen en un campo de imágenes de Django antes de enviarla usando Javascript

cambiar el tamaño o recortar imágenes base64 usando php

Cómo recortar aleatoriamente un lote de imágenes

WordPress, ¿cómo cambiar el tamaño automáticamente al cargar todas las imágenes y eliminar el original de la imagen en el servidor?

Aplicar cambio de tamaño en varias imágenes a la vez en openCV python

Cómo procesar imágenes de un video, cuadro por cuadro, en transmisión de video usando OpenCV y Python

Cómo manejar datos de gran tamaño / imágenes en la memoria RAM en Java?

¿Cómo puedo arreglar mi código python para guardar y cambiar el tamaño de las imágenes usando glob en linux?

TOP Lista

CalienteEtiquetas

Archivo