Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

167
Vistas
Extraer transformación de perspectiva de una imagen

Estoy trabajando en un proyecto en el que se requiere obtener la transformación de la imagen en perspectiva de la siguiente manera:

Transformación de perspectiva

Como puede ver, la imagen extraída no me da la imagen exacta, ya que debería reflejar la transformación de la imagen con los bordes azules. Aunque traté de seguir este tutorial - Corrección de perspectiva de imagen y parece funcionar para la imagen de muestra dada en él y para una imagen diferente, me da el resultado anterior que se muestra.

No tengo mucho conocimiento en el procesamiento de imágenes, pero estaba tratando de descifrar algunas cosas de los fragmentos de código, específicamente el archivo de perspectiva.js:

 let dst = new cv.Mat(); let dsize = new cv.Size(imageHeight, imageWidth); let srcTri = cv.matFromArray(4, 1, cv.CV_32FC2, pointsArray); let dstTri = cv.matFromArray(4, 1, cv.CV_32FC2, [0, 0, imageHeight, 0, imageHeight, imageWidth, 0, imageWidth]); let M = cv.getPerspectiveTransform(srcTri, dstTri); //Believe, this is the main method for perspective transformation cv.warpPerspective(src, dst, M, dsize, cv.INTER_LINEAR, cv.BORDER_CONSTANT, new cv.Scalar()); document.getElementById('imageInit').style.display = "none" cv.imshow('imageResult', dst);

No estoy seguro, pero el método cv.getPerspectiveTransform() con dos parámetros y que tiene un parámetro pointsArray en cv.matFromArray() parece que el cálculo se hizo un poco mal aquí, ya que la imagen de salida tiene un ángulo diferente.

 let pointsArray = [] const scaleFactor = parseInt(imageWidth / svgCropWidth) pointsArray = pointsArray.map( e => { const num = parseInt((parseInt(e) + 40) / scaleFactor) return num })

¿Hay alguna forma de arreglarlo para mostrar el área extraída exacta usando bordes azules para la imagen de salida?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda