Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

OpenCV

OpenCV, görüntü işleme ve bilgisayarlı görü için 2.500'den fazla algoritma içeren açık kaynaklı bir kütüphanedir. Ne işe yaradığı, derin öğrenmeyle nasıl birlikte kullanıldığı ve kod örneği.

OpenCV (Açık Kaynak Bilgisayarlı Görü Kütüphanesi), görüntü işleme ve bilgisayarlı görü (CV) için 2.500'den fazla optimize edilmiş algoritma içeren bir açık kaynak kütüphanedir. Görüntü ve video okur, yazıp kaydeder; kamera akışlarını yakalar; pikselleri filtreleyip dönüştürür; özellikleri algılayıp eşleştirir, kameraları kalibre eder ve eğitilmiş sinir ağlarını çalıştırır. OpenCV, 1999'da Intel Research bünyesinde başladı; C++ ile yazılmıştır ve Python ile Java bağlamaları bulunur. 4.5.0 sürümünden beri Apache 2.0 lisansı altında dağıtılır. Python'da pip install opencv-python ile yüklenir, cv2 olarak içe aktarılır ve her görüntüyü NumPy dizisi olarak temsil eder.

OpenCV Ne Yapar?#

  • Görüntü ve video G/Ç: Yaygın görüntü biçimlerini okur ve kaydeder, video dosyalarının kodunu çözer, kameralardan ve ağ akışlarından kareler yakalar.
  • Görüntü işleme: Yeniden boyutlandırma, renk uzayı dönüşümü, bulanıklaştırma, keskinleştirme, eşikleme ve morfolojik işlemler; görüntünün modele ulaşmasından önce uygulanan standart ön işleme adımlarıdır.
  • Özellik algılama ve eşleştirme: SIFT ve ORB gibi köşe ve ilgi noktası algılayıcıları, panorama birleştirme, nesne konumlandırma ve görsel SLAM için görüntüler arasında eşleştirilebilen ayırt edici noktaları bulur. Patenti sona erdikten sonra SIFT, 4.4.0 sürümünde ana kütüphaneye eklendi.
  • Kamera geometrisi: Kalibrasyon mercek bozulmasını giderir, homografiler perspektifi düzeltir ve stereo eşleştirme, robotik ve 3B yeniden yapılandırma için iki kameradan derinliği çıkarır.
  • Video analizi: Arka plan çıkarma, hareketli nesneleri sabit bir sahneden ayırır; optik akış ise piksellerin kareler arasında nasıl hareket ettiğini ölçer.
  • Derin sinir ağı çıkarımı: dnn modülü, örneğin ONNX biçimindeki eğitilmiş modelleri yükler ve yüklü bir derin öğrenme çatısı olmadan CPU veya GPU üzerinde çalıştırır.

Bu klasik işlem hattı, öğrenilmiş bir model kullanmadan görüntüdeki şekillerin dış hatlarını bulur:

import urllib.request

import cv2
import numpy as np

# Download a sample image and decode it into a BGR NumPy array
data = urllib.request.urlopen("https://ultralytics.com/images/bus.jpg").read()
image = cv2.imdecode(np.frombuffer(data, np.uint8), cv2.IMREAD_COLOR)

# Classical pipeline: grayscale, blur to suppress noise, then Canny edge detection
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
edges = cv2.Canny(blurred, 50, 150)

# Trace connected edge pixels into contours, the outlines of shapes in the scene
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
print(f"Image shape: {image.shape}, contours found: {len(contours)}")

Image shape: (1080, 810, 3), contours found: 1449 yazdırılır: üç renk kanallı 1080×810 boyutunda bir görüntü ve kenarlarından izlenen 1.449 ayrı dış hat. OpenCV renk kanallarını mavi-yeşil-kırmızı (BGR) sırasıyla saklar; bu nedenle RGB bekleyen kütüphanelere aktarılan görüntüler önce cv2.cvtColor dönüşümünden geçirilmelidir.

OpenCV ve Derin Öğrenme Çatılar#

OpenCV ile PyTorch ve TensorFlow gibi derin öğrenme çatıları, aynı işlem hattının farklı aşamalarında çalışır. OpenCV, ağın çevresindeki veri ön işlemeyi ve çıktıyı yönetir; kareleri alır, yeniden boyutlandırır, sonuçları çizer ve çıktı videosunu yazar. Aradaki evrişimli sinir ağını ise çatı eğitir ve çalıştırır. Gerçek zamanlı bir video uygulaması, her karede bu adımları tekrarlar:

Ultralytics YOLO26, OpenCV'nin BGR NumPy karelerini doğrudan kabul eder; results[0].plot() aynı biçimde işaretlenmiş bir kare döndürür. Böylece modeli herhangi bir dönüştürme yapmadan OpenCV döngüsüne ekleyebilirsin. Bu örnek, ultralytics paketinde bulunan örnek görüntü üzerinde döngünün tek bir geçişini çalıştırır:

import cv2
from ultralytics import YOLO
from ultralytics.utils import ASSETS

# OpenCV, pakete eklenmiş örnek görüntüyü BGR NumPy dizisi olarak yükler
frame = cv2.imread(str(ASSETS / "bus.jpg"))

# YOLO26, OpenCV karesini doğrudan kullanır
model = YOLO("yolo26n.pt")
results = model(frame)

# plot(), OpenCV'nin görüntüleyebileceği veya kaydedebileceği, üzerine açıklama eklenmiş bir BGR dizisi döndürür
annotated = results[0].plot()
cv2.imwrite("bus_annotated.jpg", annotated)

Bir video döngüsünde, aynı üç çağrı cv2.VideoCapture kaynağından gelen her karede çalışır; cv2.imshow veya cv2.VideoWriter, cv2.imwrite öğesinin yerini alır.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla