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

Hough Transform

Hough dönüşümü, görüntü kenarlarındaki boşluklara veya gürültüye rağmen çizgileri, daireleri ve şekilleri algılayan, oylama tabanlı bir bilgisayarlı görü tekniğidir.

Hough dönüşümü; görüntü noktalarının olası şekiller için oy kullanmasını sağlayarak çizgileri, daireleri ve parametrelerle tanımlanan diğer şekilleri algılayan geometrik bir özellik çıkarımı tekniğidir. Aynı yapıya ait noktalar birbirini güçlendirerek oylama tablosunda belirgin bir tepe oluşturur. Bilgisayarlı görü alanında bu teknik, boşlukları veya gürültülü sınırları olan şekillerin yeniden elde edilmesine yardımcı olur.

Paul V. C. Hough, tekniği 1959'da fizik fotoğraflarındaki parçacık izlerini ele alan Kabarcık Odası Görüntülerinin Makineyle Analizi çalışmasında tanıttı. Richard Duda ve Peter Hart, yaygın olarak kullanılan açı–mesafe gösterimini 1972 tarihli çizgi ve eğri algılama makalelerinde tanıttı.

Hough Oylaması Nasıl Çalışır?#

Tipik bir iş akışı veri ön işleme ve kenar algılama ile başlar. Bir kenar algılayıcı yerel parlaklık değişimlerini belirler; Hough dönüşümü, kenar piksellerini geometrik yapılarda gruplandırır. Sobel operatörü parlaklık gradyanlarını tahmin ederken Canny, çizgi oylamasına uygun ince bir kenar haritası oluşturur.

Her aday çizgi, görüntü başlangıç noktasına olan işaretli dik uzaklığı rho ve bu dikmenin x eksenine göre açısı theta ile temsil edilir. Bu gösterim, sonsuz eğim kullanmadan dikey çizgilerin ele alınmasını sağlar. Her kenar pikseli, akümülatör adı verilen ve parametre uzayını ayrık kutulara bölen bir tablodaki uyumlu rho–theta çiftleri için oy kullanır. Görüntüde birbirinden ayrı olsalar bile aynı doğru üzerindeki pikseller aynı kutuya katkıda bulunur. Tepeler, desteklenen çizgileri belirler.

Çıktıyı geometri ve oylama kuralları belirler. Bir derin öğrenme algılayıcısı görsel örüntüleri eğitim verilerinden öğrenir; Hough algılama ise öğrenilmiş model ağırlıkları yerine seçilen bir şekil modelini ve sayısal eşikleri kullanır.

Standart, Olasılıksal ve Daire Dönüşümleri#

Yaygın üç uygulama, arama yöntemleri ve çıktıları bakımından farklılık gösterir:

  • Standart çizgi dönüşümü: cv2.HoughLines(), sonsuz çizgileri tanımlayan rho–theta çiftlerini döndürür. Doğru parçasının uç noktalarını bulmak için ek işlem gerekir.
  • Olasılıksal çizgi dönüşümü: cv2.HoughLinesP(), nokta örneklemesiyle oylama iş yükünü azaltır ve doğru parçasının uç noktalarını doğrudan döndürür. minLineLength kısa doğru parçalarını eler; maxLineGap aynı doğrultudaki parçaların birleştirilebilmesi için aralarındaki en büyük mesafeyi belirler.
  • Daire dönüşümü: Daire adayları bir merkez ve yarıçap gerektirir. cv2.HoughCircles(), yarıçap sınırlarının arama alanını daralttığı gradyan tabanlı bir yaklaşım kullanır. Girdi olarak gri tonlamalı görüntü alırken çizgi işlevleri ikili görüntü alır.

Python'da Doğru Parçalarını Algılama#

Bağımlılıkları pip install opencv-python numpy ile yükle. Bu örnekte, örnek otobüs görüntüsündeki doğru parçalarını algılamak ve çizmek için OpenCV kullanılıyor.

from urllib.request import urlopen

import cv2
import numpy as np

with urlopen("https://ultralytics.com/images/bus.jpg") as response:
    encoded = np.frombuffer(response.read(), dtype=np.uint8)
image = cv2.imdecode(encoded, cv2.IMREAD_COLOR)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Oylama için kenarları çıkar.
edges = cv2.Canny(gray, 50, 150)
# Akümülatör oylarıyla desteklenen sonlu doğru parçalarını algıla.
lines = cv2.HoughLinesP(
    edges,
    1,
    np.pi / 180,
    threshold=80,
    minLineLength=80,
    maxLineGap=10,
)
if lines is not None:
    for x1, y1, x2, y2 in lines[:, 0]:
        cv2.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2)
cv2.imwrite("hough_segments.jpg", image)

Kaydedilen görüntüde, döndürülen doğru parçaları kırmızı renkle üst üste çizilir. Rho kutuları bir piksel genişliğindedir, theta kutuları bir derecelik aralıkları kapsar ve threshold=80 akümülatör oy eşiğini belirler. Doğru parçası uzunluğu ve boşluk ayarları piksel cinsinden ölçülür.

Uygulamalar ve Pratik Sınırlamalar#

Belge işlemede ızgara çizgilerini çıkarmak yapısal analizi destekler: OpenCV, Sudoku görüntüsünde Hough algılamayı gösterir. Dairesel oylama, scikit-image'ın daire ve elips örneklerinde madeni paraların merkezlerini ve yarıçaplarını bulur. Bu çıktılar geometriyi tanımlar; nesne algılama anlamsal kategoriler ekler, örnek bölütleme ise pikselleri tek tek nesnelere atar.

Çelik kiriş ölçüm prototipi, köşe çıkarımını desteklemek için YOLOv8 maskelerini, Canny kenarlarını ve olasılıksal Hough çizgilerini birleştirir. Ultralytics YOLO26 bölütleme, nesne yalıtımı için maskeler sağlar ve böylece ayrı geometrik işlemlerden önce aynı maskeli girdi yaklaşımının kullanılmasına olanak tanır.

Daha ince akümülatör kutuları bellek kullanımını artırır; kaba kutular birbirine yakın adayları birleştirir. Tablo sınırı çıkarmada eksik kenarlar algılanabilir sınırları azaltırken ilgisiz çizgiler hatalı sınır düzeltmelerine yol açabilir. maxLineGap değerini artırmak, aynı doğrultudaki parçalar arasındaki daha büyük boşlukların birleştirilmesini sağlar; minLineLength değerini artırmak ise daha kısa doğru parçalarını eler.

Çö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