Załóżmy, że mam dwa obrazy binarne tego samego rozmiaru. Jak znaleźć przecięcie między dwoma obrazami binarnymi? Tylko piksele o tej samej współrzędnej (położeniu) na dwóch obrazach, które są białe (szare - 255) dają białe piksele na wyjściowym obrazie (przecięcie).OpenCV - Przecięcie dwóch obrazów binarnych
13
A
Odpowiedz
34
Możesz użyć cvAnd lub cv::bitwise_and na dwóch obrazach. Wynikowy obraz będzie biały tylko wtedy, gdy oba obrazy wejściowe będą białe.
EDIT: Tutaj są wyniki stosowania cv::bitwise_and, cv::bitwise_or i cv::bitwise_xor na obrazach binarnych:
Są to obrazy dwa źródła:
Tutaj jest wynikiem stosowania cv::bitwise_and:
Tutaj jest wynikiem stosowania cv::bitwise_or:
Tutaj jest wynikiem stosowania cv::bitwise_xor:
1
Oto jak to zrobić w Pythonie (ze zdjęcia powyżej) :
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()
Jeśli chcesz zainstalować OpenCV
dla Python
, oszczędzaj czas, postępując zgodnie z these directions (instalacja historycznie była dość bolesna).
Powiązane problemy
- 1. Łączenie dwóch obrazów z OpenCV
- 2. Przecięcie dwóch posortowanych tablic
- 3. Przecięcie dwóch zestawów (list) danych
- 4. Przecięcie dwóch linii na współrzędnych
- 5. Jak utworzyć przecięcie dwóch skrótów?
- 6. Python - Przecięcie dwóch list list
- 7. Jak uzyskać przecięcie dwóch CGPath?
- 8. Normalizowanie obrazów w OpenCV
- 9. Python przecięcie dwóch list zachowujących duplikaty
- 10. Java 8 Lambda - przecięcie dwóch list
- 11. Przecięcie dwóch słowników w języku Python
- 12. Przecięcie dwóch zapytań z różnymi filtrami
- 13. przecięcie dwóch list różnych obiektów w java
- 14. Łączenie 2 obrazów w opencv
- 15. Uzyskanie różnicy proporcji dwóch obrazów
- 16. CGPathRef przecięcie
- 17. Porównanie obrazów OpenCV w systemie Android
- 18. Odczyt z dwóch kamer jednocześnie OpenCV
- 19. Dopasowanie histogramu dwóch obrazów w Pythonie 2.x?
- 20. Używanie obrazów OpenCV Mat z Intel IPP?
- 21. OpenCV - cvPutText dodaje szum do moich obrazów
- 22. Prawidłowe prostowanie obrazów stereo dla GPU (opencv)
- 23. OpenCV: Porównanie wielu obrazów za pomocą ORB
- 24. Przecięcie dwóch list bez duplikatów elementów w Prologu
- 25. Najlepszy sposób na przecięcie się kluczy dwóch obiektów?
- 26. Jak mogę znaleźć przecięcie dwóch zestawów zapytań Django?
- 27. Przecięcie dwóch wykresów w Pythonie, znajdź wartość x:
- 28. Przecięcie dwóch niewidocznych tablic o różnych wymiarach według kolumny
- 29. Funkcja, która zwraca przecięcie dwóch TShapes, w tym TPaths?
- 30. Przecięcie Mysql dwóch zestawów o wartości oddzielonej przecinkiem
Możesz używać operatorów '&' i '|', jak opisano w http://stackoverflow.com/questions/17961092/how-do-ïdo-boolean-operation-on-mat-such-as- mat3-mat1-mat2 –