22/11/2024
OpenCV (Open Source Computer Vision Library) to potężna biblioteka o otwartym kodzie źródłowym przeznaczona do realizacji zadań związanych z widzeniem komputerowym i przetwarzaniem obrazów. Jest to wszechstronne narzędzie, które znalazło zastosowanie w wielu dziedzinach, od robotyki i motoryzacji, po medycynę i bezpieczeństwo. Niezależnie od tego, czy dopiero zaczynasz swoją przygodę z programowaniem, czy jesteś doświadczonym deweloperem, znajomość wersji OpenCV, której używasz, jest kluczowa. Wiedza ta pozwala na zapewnienie kompatybilności z innymi bibliotekami, ułatwia rozwiązywanie problemów oraz umożliwia korzystanie z najnowszych funkcji i poprawek. W tym artykule przeprowadzimy Cię krok po kroku przez różne metody sprawdzania wersji OpenCV za pomocą języka Python.

Sprawdzanie wersji OpenCV w Pythonie
Istnieje kilka metod, które pozwalają na szybkie i łatwe sprawdzenie wersji biblioteki OpenCV zainstalowanej w Twoim środowisku Python. Poniżej przedstawiamy trzy najpopularniejsze i najbardziej efektywne sposoby:
- Za pomocą atrybutu
cv2.__version__
- Używając funkcji
cv2.getBuildInformation()
- Wykorzystując bibliotekę
pkg_resources
Sprawdzanie wersji OpenCV za pomocą cv2.__version__
Metoda cv2.__version__
jest najprostszym i najczęściej stosowanym sposobem na sprawdzenie wersji OpenCV. Jest to atrybut modułu cv2
, który zwraca ciąg znaków (string) reprezentujący aktualnie zainstalowaną wersję biblioteki. Jest to idealne rozwiązanie, gdy potrzebujesz szybkiej informacji o wersji bez zagłębiania się w szczegóły kompilacji. Metoda ta jest niezwykle intuicyjna i łatwa do zapamiętania, co czyni ją preferowaną opcją w większości przypadków. Aby użyć tej metody, wystarczy zaimportować bibliotekę cv2
i wyświetlić wartość atrybutu __version__
.

import cv2 print("Wersja OpenCV:", cv2.__version__)
Po uruchomieniu powyższego kodu, w konsoli zostanie wyświetlony tekst informujący o wersji OpenCV zainstalowanej w Twoim systemie. Przykładowe wyjście może wyglądać następująco:
Wersja OpenCV: 4.9.0
Jak widzisz, wynik jest przejrzysty i bezpośredni – otrzymujesz numer wersji jako prosty ciąg znaków. Jest to wystarczające w większości codziennych zastosowań, gdy szybko chcesz upewnić się, z jaką wersją biblioteki pracujesz.
Sprawdzanie wersji OpenCV za pomocą cv2.getBuildInformation()
Funkcja cv2.getBuildInformation()
dostarcza znacznie więcej szczegółowych informacji o Twojej instalacji OpenCV. W przeciwieństwie do cv2.__version__
, która zwraca jedynie numer wersji, getBuildInformation()
generuje kompleksowy raport. Ten raport zawiera szeroki zakres danych, w tym informacje o kompilatorze użytym do zbudowania biblioteki, włączonych modułach (np. CUDA, OpenCL, FFMPEG), ścieżkach do bibliotek zewnętrznych, flagach kompilacji i wielu innych. Ta metoda jest szczególnie przydatna w sytuacjach, gdy potrzebujesz dogłębnej analizy konfiguracji OpenCV, na przykład podczas debugowania problemów z wydajnością, kompatybilnością z konkretnym sprzętem lub weryfikacji, czy wszystkie wymagane moduły zostały poprawnie włączone podczas kompilacji biblioteki.

import cv2 build_info = cv2.getBuildInformation() print("Informacje o kompilacji OpenCV:") print(build_info)
Po wykonaniu tego kodu, w konsoli zostanie wyświetlony obszerny tekst zawierający informacje o kompilacji OpenCV. Przykładowe wyjście, choć skrócone ze względu na objętość, może wyglądać następująco:
Informacje o kompilacji OpenCV: General configuration for OpenCV 4.9.0 ===================================== Version control: 4.9.0 Extra modules: Location (extra): .../opencv_contrib/modules Version control (extra): 4.9.0 Platform: Timestamp: ... Host: ... CPU family: ... CPU number: ... ... (i wiele innych linii informacji) ... Build configuration: ... (szczegóły konfiguracji kompilacji) ...
Analiza wyjścia cv2.getBuildInformation()
może być kluczowa dla zaawansowanych użytkowników i deweloperów, którzy potrzebują pełnej kontroli nad środowiskiem OpenCV i chcą zoptymalizować jego działanie w specyficznych warunkach. Może to być szczególnie istotne w środowiskach produkcyjnych, gdzie stabilność i wydajność są priorytetem.
Sprawdzanie wersji OpenCV za pomocą pkg_resources
Biblioteka pkg_resources
, będąca częścią pakietu setuptools
, jest kolejnym sposobem na programowe uzyskanie informacji o zainstalowanych pakietach Python, w tym o OpenCV. Metoda ta jest szczególnie użyteczna, jeśli zainstalowałeś OpenCV za pomocą menedżera pakietów pip i chcesz zweryfikować wersję w sposób bardziej dynamiczny, na przykład w skryptach automatyzujących proces konfiguracji środowiska. pkg_resources
pozwala na przeszukiwanie zainstalowanych pakietów i pobieranie metadanych, takich jak wersja, opis, autor itp.

import pkg_resources installed_packages = pkg_resources.working_set opencv_version = [pkg for pkg in installed_packages if pkg.key == 'opencv-python'][0].version print("Wersja OpenCV (przez pkg_resources):", opencv_version)
W powyższym kodzie, najpierw pobieramy listę zainstalowanych pakietów za pomocą pkg_resources.working_set
. Następnie, filtrujemy tę listę, szukając pakietu o kluczu 'opencv-python' (nazwa pakietu OpenCV instalowanego przez pip). Na koniec, z znalezionego pakietu pobieramy atrybut version
, który zawiera numer wersji. Wyjście z tego kodu będzie podobne do metody cv2.__version__
:
Wersja OpenCV (przez pkg_resources): 4.9.0.80
Metoda pkg_resources
jest bardziej uniwersalna i może być stosowana do sprawdzania wersji dowolnych pakietów Python zainstalowanych za pomocą pip. Jest to przydatne narzędzie, gdy budujesz skrypty, które muszą dynamicznie dostosowywać swoje działanie w zależności od dostępnych wersji bibliotek.
Często zadawane pytania (FAQ)
Dlaczego znajomość wersji OpenCV jest ważna?
Znajomość wersji OpenCV jest kluczowa z kilku powodów. Po pierwsze, zapewnia kompatybilność z innymi bibliotekami i narzędziami, z którymi współpracujesz. Różne wersje OpenCV mogą oferować różne funkcje, API (interfejsy programowania aplikacji) i zachowania. Kod napisany dla starszej wersji OpenCV może nie działać poprawnie lub wcale na nowszej wersji i odwrotnie. Po drugie, znajomość wersji jest niezbędna przy rozwiązywaniu problemów. Komunikując się z innymi programistami lub szukając pomocy online, informacja o wersji OpenCV jest podstawową daną, która pomaga w diagnozowaniu błędów i znalezieniu odpowiednich rozwiązań. Po trzecie, regularne aktualizacje OpenCV przynoszą nowe funkcje i poprawki błędów, co może znacząco wpłynąć na wydajność i stabilność Twoich aplikacji. Świadomość używanej wersji pozwala na planowanie aktualizacji i korzystanie z najnowszych osiągnięć biblioteki.

Jak zaktualizować wersję OpenCV w Pythonie?
Aktualizacja wersji OpenCV w Pythonie jest zazwyczaj prosta, szczególnie jeśli zainstalowałeś bibliotekę za pomocą menedżera pakietów pip. Zaleca się regularne aktualizowanie OpenCV do najnowszej stabilnej wersji, aby korzystać z najnowszych funkcji, poprawek bezpieczeństwa i optymalizacji wydajności. Aby zaktualizować OpenCV do najnowszej wersji, możesz użyć następującego polecenia w terminalu lub wierszu poleceń:
pip install --upgrade opencv-python
Polecenie pip install --upgrade opencv-python
spowoduje pobranie i zainstalowanie najnowszej dostępnej wersji pakietu opencv-python
, zastępując aktualnie zainstalowaną wersję. Jeśli chcesz zaktualizować do konkretnej wersji, możesz to zrobić, dodając numer wersji po nazwie pakietu, na przykład:
pip install --upgrade opencv-python==4.8.0
Pamiętaj, aby po aktualizacji sprawdzić wersję OpenCV za pomocą jednej z metod opisanych w tym artykule, aby upewnić się, że aktualizacja przebiegła pomyślnie.
Czy mogę mieć wiele wersji OpenCV zainstalowanych w systemie?
Teoretycznie, możliwe jest posiadanie wielu wersji OpenCV zainstalowanych w systemie, jednak zarządzanie nimi bezpośrednio w jednym środowisku Python może prowadzić do konfliktów i nieprzewidzianych problemów. Zdecydowanie zaleca się stosowanie środowisk wirtualnych (np. venv
, virtualenv
, conda
) lub kontenerów Docker, aby izolować różne wersje OpenCV i uniknąć konfliktów między nimi. Środowiska wirtualne pozwalają na stworzenie izolowanego środowiska Python, w którym możesz zainstalować konkretną wersję OpenCV i innych bibliotek, bez wpływu na globalną instalację Pythona i inne projekty. Kontenery Docker oferują jeszcze większą izolację, tworząc kompletne, spójne środowisko uruchomieniowe, w którym możesz zarządzać nie tylko wersjami bibliotek Python, ale także całym systemem operacyjnym i zależnościami. Korzystanie z tych narzędzi jest dobrą praktyką, szczególnie w przypadku pracy nad wieloma projektami, które mogą wymagać różnych wersji OpenCV lub innych bibliotek.
Jeśli chcesz poznać inne artykuły podobne do Jak sprawdzić wersję OpenCV w Pythonie?, możesz odwiedzić kategorię HVAC.