MC, 2025
Ilustracja do artykułu: Python OpenCV – magia przetwarzania obrazów w Twoim kodzie!

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!

Imię:
Treść: