Pillow Python kütüphanesindeki "draw_vertices" fonksiyonunu kullanarak nesne kenarlıkları çizerken görüntüye ekran metni eklemek için adım adım bir süreç takip edebiliriz. Bu süreç, algılanan nesnelerin köşelerinin Google Vision API'den alınmasını, köşeleri kullanarak nesne sınırlarının çizilmesini ve son olarak görüntü metninin görüntüye eklenmesini içerir.
1. Algılanan nesnelerin köşelerini alın:
– Bir görüntüdeki nesneleri algılamak için Google Vision API'yi kullanın.
– Algılanan her nesnenin köşelerini API yanıtından çıkarın. Köşeler, nesneyi çevreleyen sınırlayıcı kutunun dört köşesini temsil eder.
2. Köşeleri kullanarak nesne kenarlıklarını çizin:
– Python'daki Pillow kütüphanesini kullanarak görüntüyü yükleyin.
– Yastık kitaplığından ImageDraw modülünün bir örneğini oluşturun.
– Her nesnenin köşeleri üzerinde yineleyin ve ImageDraw modülündeki "draw.rectangle" işlevini kullanarak bir dikdörtgen çizin.
– "draw.rectangle" işlevi, dikdörtgenin sol üst ve sağ alt köşelerinin koordinatlarını bağımsız değişken olarak alır.
3. Görüntüye ekran metnini ekleyin:
– ImageDraw modülünün başka bir örneğini oluşturun.
– Her nesnenin köşeleri üzerinde yineleme yapın ve ImageDraw modülündeki "draw.text" işlevini kullanarak görüntü metnini ekleyin.
– "draw.text" işlevi, metin konumunun ve metin dizesinin koordinatlarını argüman olarak alır.
– "draw.text" işlevinde ek parametreler belirleyerek metnin yazı tipini, boyutunu, rengini ve diğer özelliklerini özelleştirebilirsiniz.
Aşağıda, yukarıda açıklanan işlemi gösteren örnek bir kod parçacığı verilmiştir:
python from PIL import Image, ImageDraw, ImageFont # Step 1: Retrieve the vertices of the detected objects # (Assuming you have already obtained the vertices from the Google Vision API) vertices = [ [(100, 100), (200, 100), (200, 200), (100, 200)], # Example vertices of object 1 [(300, 150), (400, 150), (400, 250), (300, 250)] # Example vertices of object 2 ] # Step 2: Draw object borders using the vertices image = Image.open("input_image.jpg") draw = ImageDraw.Draw(image) for vertex in vertices: draw.rectangle(vertex, outline="red") # Step 3: Add display text to the image font = ImageFont.truetype("arial.ttf", 12) text_draw = ImageDraw.Draw(image) for i, vertex in enumerate(vertices): text_position = vertex[0][0], vertex[0][1] - 20 text_draw.text(text_position, f"Object {i+1}", font=font, fill="red") # Save the modified image image.save("output_image.jpg")
Bu örnekte nesnelerin köşelerinin Google Vision API'sinden zaten elde edildiğini varsayıyoruz. Daha sonra Pillow kütüphanesini kullanarak görüntüyü yüklüyoruz, köşeleri kullanarak nesne kenarlıklarını çiziyoruz ve her nesnenin üzerine görüntüleme metni ekliyoruz.
Kodu, yazı tipi, yazı tipi boyutu ve metin rengi gibi özel gereksinimlerinize göre ayarlamayı unutmayın.
ile ilgili diğer yeni sorular ve cevaplar Yastık piton kitaplığını kullanarak nesne kenarlıkları çizme:
- Verilen koddaki "draw.line" yönteminin parametreleri nelerdir ve köşe değerleri arasında çizgi çizmek için nasıl kullanılırlar?
- Python'da nesne kenarlıklarını çizmek için yastık kütüphanesi nasıl kullanılabilir?
- Verilen koddaki "draw_vertices" fonksiyonunun amacı nedir?
- Google Vision API, bir görüntüdeki şekillerin ve nesnelerin anlaşılmasına nasıl yardımcı olabilir?