Matplotlib, veri görselleştirme yetenekleriyle ünlü, çok yönlü bir Python kütüphanesidir. Veri çizmenin ötesinde, görüntüleri doğrudan şekillerle üst üste bindirmenize olanak tanıyarak görüntü manipülasyonunda da mükemmeldir. Bu öğretici, Matplotlib kullanarak resimlere dikdörtgen eklemeyi verimli bir şekilde nasıl yapacağınızı göstermektedir.
İçerik Tablosu
Matplotlib’te Dikdörtgen Çizme
Resimlerle çalışmadan önce, standart Matplotlib şekillerine dikdörtgen çizmeyi öğrenelim. Bu temel adım, resim üst üste bindirme işlemini anlamak için çok önemlidir.
import matplotlib.pyplot as plt
import matplotlib.patches as patches
# Şekil ve eksen oluştur
fig, ax = plt.subplots()
# Dikdörtgeni tanımla
rect = patches.Rectangle((0.1, 0.1), 0.5, 0.5, linewidth=1, edgecolor='r', facecolor='none')
# Dikdörtgeni eksenlere ekle
ax.add_patch(rect)
# Eksen sınırlarını ayarla (isteğe bağlı)
ax.set_xlim([0, 1])
ax.set_ylim([0, 1])
# Grafiği göster
plt.show()
Bu kod basit bir dikdörtgen oluşturur. Şimdi bunu inceleyelim:
matplotlib.pyplot as plt
: Matplotlib çizim kütüphanesini içe aktarır.matplotlib.patches as patches
: Dikdörtgenler gibi şekil nesnelerini içerenpatches
modülünü içe aktarır.patches.Rectangle((x, y), width, height)
: Bir dikdörtgen oluşturur.(x, y)
sol alt köşeyi belirtir;width
veheight
boyutlarını tanımlar. Koordinatlar normalize edilmiştir (0 ile 1 arasında).linewidth
,edgecolor
,facecolor
: Dikdörtgenin görünümünü kontrol eder.facecolor='none'
yalnızca bir anahat oluşturur.ax.add_patch(rect)
: Dikdörtgeni eksenlere ekler.ax.set_xlim()
veax.set_ylim()
: x ve y eksen sınırlarını ayarlar (isteğe bağlı, daha iyi görselleştirme için).
Resimlere Dikdörtgen Üst Üste Bindirme
Şimdi bunu, dikdörtgenleri resimlerin üzerine bindirmek için genişletelim. Resmi yüklemek için Matplotlib’ten imread
kullanacağız.
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.image as mpimg
# Resmi yükle
img = mpimg.imread('your_image.jpg') # Resminizin yolunu girin
# Şekil ve eksen oluştur
fig, ax = plt.subplots()
# Resmi göster
ax.imshow(img)
# Dikdörtgeni oluştur (piksel koordinatları)
rect = patches.Rectangle((100, 100), 150, 100, linewidth=2, edgecolor='b', facecolor='none')
# Dikdörtgeni eksenlere ekle
ax.add_patch(rect)
# Grafiği göster
plt.show()
Bu, önceki örneğe benzer, ancak:
mpimg.imread('your_image.jpg')
: Resmi yükler.'your_image.jpg'
yerine resminizin yolunu yazmayı unutmayın.ax.imshow(img)
: Resmi eksenlere gösterir.- Dikdörtgen koordinatları
(100, 100)
artık piksel koordinatlarındadır. Dikdörtgeni konumlandırmak için bu değerleri ayarlayın.
Bu yöntem, resimleri etkili bir şekilde açıklamanıza olanak tanır. Dikdörtgenin görünümünü ve yerleşimini özelleştirmek için koordinatlar, boyutlar, renkler ve çizgi kalınlıklarıyla deney yapın. Koordinatların resmin piksel boyutlarına göre olduğunu unutmayın.