Digamos que tengo dos imágenes binarias del mismo tamaño. ¿Cómo encuentro la intersección entre las dos imágenes binarias? Solo los píxeles de la misma coordenada (ubicación) en las dos imágenes que son blancas (gris - 255) darán píxeles blancos en la imagen de salida (intersección).OpenCV - Intersección entre dos imágenes binarias
13
A
Respuesta
34
Puede usar cvAnd o cv::bitwise_and en las dos imágenes. La imagen resultante será blanca solo cuando ambas imágenes de entrada sean blancas.
EDIT: Aquí están los resultados de la aplicación cv::bitwise_and, cv::bitwise_or y cv::bitwise_xor en imágenes binarias:
Estas son las imágenes de dos fuentes:
Aquí es el resultado de aplicar cv::bitwise_and:
Aquí es el resultado de aplicar cv::bitwise_or:
Aquí es el resultado de aplicar cv::bitwise_xor:
1
es como se hace esto en Python (con las imágenes de arriba) Aquí :
import cv2
img1 = cv2.imread('black_top_right_triangle.png',0)
img2 = cv2.imread('black_bottom_right_triangle.png',0)
img_bwa = cv2.bitwise_and(img1,img2)
img_bwo = cv2.bitwise_or(img1,img2)
img_bwx = cv2.bitwise_xor(img1,img2)
cv2.imshow("Bitwise AND of Image 1 and 2", img_bwa)
cv2.imshow("Bitwise OR of Image 1 and 2", img_bwo)
cv2.imshow("Bitwise XOR of Image 1 and 2", img_bwx)
cv2.waitKey(0)
cv2.destroyAllWindows()
Si necesita instalar OpenCV
para Python
, ahorre tiempo siguiendo a these directions (la instalación ha sido históricamente bastante dolorosa).
Cuestiones relacionadas
- 1. OpenCV detectar contornos intersección
- 2. intersección entre dos listas no trabaja
- 3. área de intersección entre dos círculos
- 4. Intersección entre dos rectángulos en 3D
- 5. Encontrar la intersección entre dos columnas
- 6. Combinación de dos imágenes con OpenCV
- 7. Transformación de imágenes en OpenCV
- 8. ¿Cómo comparo dos imágenes de borde (en OpenCV)?
- 9. OpenCV 2d línea intersección ayudante función
- 10. subrayado entre dos imágenes-enlaces
- 11. cómo encontrar la región superpuesta entre imágenes en opencv?
- 12. Cómo combinar dos imágenes sin perder intensidad en opencv
- 13. Diferencias entre AForge y OpenCV
- 14. Intersección de dos expresiones regulares
- 15. cualquier intersección de dos colecciones
- 16. intersección de dos mapas STL
- 17. ¿Cómo eliminar el margen entre dos imágenes?
- 18. Intersección de ndarrays 2D numpy
- 19. Intersección de dos listas en Bash
- 20. Dos segmentos de línea paralela intersección
- 21. Diferencia entre OpenCV y OpenCL
- 22. OpenCV - ¿Cómo detectar y medir un ángulo entre dos cuadros?
- 23. Determine el área de la intersección de dos rectángulos
- 24. La intersección de dos matrices ordenadas
- 25. Intersección de dos conjuntos (Listas) de datos
- 26. Prueba de intersección de dos idiomas regulares
- 27. Costura de 2 imágenes en opencv
- 28. detección de colisiones entre dos imágenes en Java
- 29. ¿Cómo puedo medir la similitud entre dos imágenes?
- 30. ¿Cómo puedo animar un UIButton entre dos imágenes PNG?
Puede usar los operadores '&' y '|', como se describe en http://stackoverflow.com/questions/17961092/how-do-i-do-boolean-operation-on-mat-such-as- mat3-mat1-mat2 –