Python OpenCV – magia przetwarzania obrazów w Twoim kodzie!
Czy kiedykolwiek zastanawiałeś się, jak komputery rozpoznają twarze, analizują zdjęcia czy wykrywają obiekty w filmach? To wszystko możliwe dzięki bibliotece OpenCV – jednemu z najpotężniejszych narzędzi do przetwarzania obrazów i analizy wizualnej. Dobra wiadomość? Możesz używać OpenCV w Pythonie w bardzo prosty sposób! W tym artykule poznasz podstawy python opencv i zobaczysz python opencv przykłady, które pomogą Ci wkroczyć w świat komputerowego widzenia.
Co to jest OpenCV?
OpenCV (Open Source Computer Vision Library) to otwartoźródłowa biblioteka do analizy obrazów i przetwarzania wideo. Obsługuje wiele języków programowania, ale Python stał się jej szczególnie popularnym wyborem ze względu na prostotę składni i szerokie zastosowanie w uczeniu maszynowym.
OpenCV pozwala na:
- Przetwarzanie obrazów (filtrowanie, zmiana rozmiaru, konwersja kolorów),
- Wykrywanie obiektów, twarzy i ruchu,
- Tworzenie zaawansowanych efektów graficznych,
- Integrację z AI do analizy wizualnej.
Instalacja OpenCV w Pythonie
Zanim przejdziemy do praktyki, zainstalujmy OpenCV. Możesz to zrobić za pomocą pip:
pip install opencv-python
Jeśli chcesz korzystać z funkcji zaawansowanych, takich jak wsparcie dla kamery, lepiej zainstalować pełniejszą wersję:
pip install opencv-python-headless
Podstawowe operacje w OpenCV
Najpierw zaimportuj bibliotekę i wczytajmy obraz:
import cv2
# Wczytanie obrazu
obraz = cv2.imread("obraz.jpg")
# Wyświetlenie obrazu
cv2.imshow("Mój Obraz", obraz)
cv2.waitKey(0)
cv2.destroyAllWindows()
Funkcja cv2.imread() ładuje obraz, cv2.imshow() wyświetla go w oknie, a cv2.waitKey(0) czeka na dowolny klawisz przed zamknięciem okna.
Konwersja obrazu do skali szarości
Kolorowe obrazy zawierają trzy kanały: R (czerwony), G (zielony) i B (niebieski). Możemy je przekształcić do odcieni szarości:
szary = cv2.cvtColor(obraz, cv2.COLOR_BGR2GRAY)
cv2.imshow("Obraz w skali szarości", szary)
cv2.waitKey(0)
cv2.destroyAllWindows()
Zmiana rozmiaru obrazu
Zmiana rozmiaru jest bardzo prosta dzięki funkcji cv2.resize():
mniejszy_obraz = cv2.resize(obraz, (300, 200))
cv2.imshow("Zmniejszony obraz", mniejszy_obraz)
cv2.waitKey(0)
cv2.destroyAllWindows()
Podajemy szerokość i wysokość, na jakie chcemy przeskalować obraz.
Wykrywanie krawędzi
Jednym z najbardziej znanych algorytmów w OpenCV jest Canny Edge Detection, który pozwala wykryć krawędzie na obrazie:
krawedzie = cv2.Canny(obraz, 100, 200)
cv2.imshow("Wykryte krawędzie", krawedzie)
cv2.waitKey(0)
cv2.destroyAllWindows()
Parametry (100, 200) określają dolny i górny próg wykrywania krawędzi.
Rysowanie kształtów na obrazie
OpenCV pozwala na dodawanie różnych kształtów do obrazu, np. prostokątów, okręgów i linii:
cv2.rectangle(obraz, (50, 50), (200, 200), (0, 255, 0), 3)
cv2.circle(obraz, (150, 150), 50, (255, 0, 0), -1)
cv2.imshow("Obraz z kształtami", obraz)
cv2.waitKey(0)
cv2.destroyAllWindows()
Powyższy kod rysuje zielony prostokąt i niebieskie koło.
Wykrywanie twarzy w obrazie
OpenCV zawiera gotowy model do wykrywania twarzy za pomocą algorytmu Haar Cascade:
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
szary_obraz = cv2.cvtColor(obraz, cv2.COLOR_BGR2GRAY)
twarze = face_cascade.detectMultiScale(szary_obraz, scaleFactor=1.1, minNeighbors=5)
for (x, y, w, h) in twarze:
cv2.rectangle(obraz, (x, y), (x+w, y+h), (255, 0, 0), 2)
cv2.imshow("Wykryte twarze", obraz)
cv2.waitKey(0)
cv2.destroyAllWindows()
Ten kod automatycznie wykrywa twarze w obrazie i rysuje wokół nich prostokąt.
Przetwarzanie wideo za pomocą OpenCV
Możesz używać OpenCV także do analizy filmów na żywo z kamery:
kamera = cv2.VideoCapture(0)
while True:
ret, frame = kamera.read()
if not ret:
break
cv2.imshow("Podgląd z kamery", frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
kamera.release()
cv2.destroyAllWindows()
Kod ten otwiera podgląd z kamery i wyświetla go w oknie do momentu naciśnięcia klawisza "q".
Podsumowanie
Biblioteka OpenCV to niezwykle potężne narzędzie do przetwarzania obrazów i wideo. W tym artykule poznaliśmy podstawy python opencv, a także zobaczyliśmy kilka python opencv przykładów, takich jak zmiana rozmiaru obrazu, wykrywanie krawędzi i twarzy oraz praca z kamerą.
To tylko początek! OpenCV oferuje także bardziej zaawansowane funkcje, jak segmentacja obrazów, analiza ruchu czy integracja z uczeniem maszynowym. Teraz czas na Ciebie – eksperymentuj z kodem i twórz własne projekty!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!