Pillow kütüphanesini kullanarak bir görüntüde tespit edilen nesneleri görsel olarak tanımlamak ve vurgulamak için adım adım bir süreç takip edebiliriz. Pillow kitaplığı, çok çeşitli görüntü işleme yetenekleri sağlayan güçlü bir Python görüntüleme kitaplığıdır. Pillow kütüphanesinin yeteneklerini Google Vision API'nin nesne algılama işlevselliğiyle birleştirerek bu görevi verimli bir şekilde başarabiliriz.
Yastık kitaplığını kullanarak bir görüntüde algılanan nesneleri görsel olarak tanımlamaya ve vurgulamaya yönelik adımlar şunlardır:
1. Gerekli kitaplıkları yükleyin: Gerekli kitaplıkları yükleyerek başlayın. 'pip install yastık' komutunu kullanarak Yastığı yükleyin. Ayrıca Google Vision API'yi kurmanız ve Python için Google Cloud istemci kitaplığını yüklemeniz gerekecektir.
2. Google Vision API ile kimlik doğrulaması yapın: Google Vision API'yi kullanmak için uygulamanızın kimliğini doğrulamanız gerekir. Gerekli kimlik bilgilerini almak için Google tarafından sağlanan belgeleri izleyin.
3. Görüntüyü yükleyin ve analiz edin: Analiz etmek istediğiniz görüntüyü yüklemek için Yastık kitaplığını kullanın. Resim dosyasını açmak için `Image.open()` yöntemini kullanabilirsiniz. Resim yüklendikten sonra JPEG veya PNG gibi Google Vision API ile uyumlu bir formata dönüştürün.
4. Görüntüyü Google Vision API'ye gönderin: Görüntüyü nesne algılama amacıyla Google Vision API'ye göndermek için Python için Google Cloud istemci kitaplığını kullanın. Bu, görüntü verileriyle bir istek nesnesi oluşturularak ve `image_annotator_client.object_localization().annotate_image()` gibi uygun yöntemin çağrılmasıyla yapılabilir.
5. Nesne algılama sonuçlarını alın: Google Vision API'sinden alınan yanıttan nesne algılama sonuçlarını çıkarın. Yanıt, algılanan nesneler hakkında sınırlayıcı kutular, etiketler ve güven puanları gibi bilgileri içerecektir.
6. Görüntünün üzerine sınırlayıcı kutular çizin: Görüntü üzerinde algılanan nesnelerin çevresine sınırlayıcı kutular çizmek için Yastık kitaplığını kullanın. Bir çizim nesnesi oluşturmak için `ImageDraw.Draw()` yöntemini kullanabilir ve ardından sınırlayıcı kutuları çizmek için `draw.rectangle()` yöntemini kullanabilirsiniz.
7. Görüntüye etiketler ve puanlar ekleyin: Görselleştirmeyi geliştirmek için görüntüye etiketler ve güven puanları ekleyebilirsiniz. Etiketleri ve puanları görüntünün üzerine yerleştirmek için Yastık kütüphanesindeki `draw.text()` yöntemini kullanın.
8. Açıklamalı görüntüyü kaydedin ve görüntüleyin: Açıklamalı görüntüyü, Yastık kitaplığından `Image.save()` yöntemini kullanarak kaydedin. JPEG veya PNG gibi istediğiniz formatı seçebilirsiniz. İsteğe bağlı olarak, açıklamalı görüntüyü `Image.show()` yöntemini kullanarak görüntüleyin.
Bu adımları takip ederek, Yastık kitaplığını kullanarak bir görüntüde algılanan nesneleri görsel olarak tanımlayabilir ve vurgulayabilirsiniz. Pillow'un güçlü görüntü işleme yetenekleri ile Google Vision API'nin nesne algılama işlevselliğinin birleşimi, görüntülerin verimli ve doğru bir şekilde analiz edilmesine olanak tanır.
Örnek:
python from PIL import Image, ImageDraw from google.cloud import vision # Load and analyze the image image_path = 'path/to/your/image.jpg' image = Image.open(image_path) image_data = image.tobytes() # Authenticate with the Google Vision API client = vision.ImageAnnotatorClient.from_service_account_json('path/to/your/credentials.json') # Send the image to the Google Vision API for object detection response = client.object_localization(image=vision.Image(content=image_data)) objects = response.localized_object_annotations # Draw bounding boxes on the image draw = ImageDraw.Draw(image) for obj in objects: bbox = obj.bounding_poly.normalized_vertices draw.rectangle([(bbox[0].x * image.width, bbox[0].y * image.height), (bbox[2].x * image.width, bbox[2].y * image.height)], outline='red', width=3) # Add labels and scores to the image label = obj.name score = obj.score draw.text((bbox[0].x * image.width, bbox[0].y * image.height - 15), f'{label} ({score:.2f})', fill='red') # Save and display the annotated image annotated_image_path = 'path/to/save/annotated_image.jpg' image.save(annotated_image_path) image.show()
Bu örnekte öncelikle Pillow kütüphanesini kullanarak görüntüyü yükleyip analiz ediyoruz. Daha sonra Google Vision API ile kimlik doğrulaması yapıp görüntüyü nesne tespiti için gönderiyoruz. Nesne algılama sonuçlarını alıyoruz ve görüntüde algılanan nesnelerin çevresine sınırlayıcı kutular çizmek için Pillow kütüphanesini kullanıyoruz. Ek olarak görüntüye etiketler ve güven puanları ekliyoruz. Son olarak açıklamalı görseli kaydedip görüntülüyoruz.
ile ilgili diğer yeni sorular ve cevaplar Gelişmiş görüntü anlayışı:
- Google Vision API'de nesne tanımaya yönelik önceden tanımlanmış bazı kategoriler nelerdir?
- Güvenli arama tespit özelliğini diğer denetleme teknikleriyle birlikte kullanmak için önerilen yaklaşım nedir?
- Güvenli arama ek açıklamasında her kategorinin olasılık değerlerine nasıl erişebilir ve bunları görüntüleyebiliriz?
- Python'da Google Vision API'yi kullanarak güvenli arama ek açıklamasını nasıl edinebiliriz?
- Güvenli arama tespiti özelliğinin içerdiği beş kategori nelerdir?
- Google Vision API'nin güvenli arama özelliği görsellerdeki müstehcen içeriği nasıl tespit eder?
- Çıkarılan nesne bilgilerini pandaların veri çerçevesini kullanarak tablo biçiminde nasıl düzenleyebiliriz?
- Tüm nesne açıklamalarını API'nin yanıtından nasıl çıkarabiliriz?
- Google Vision API'nin işlevselliğini göstermek için hangi kitaplıklar ve programlama dili kullanılıyor?
- Google Vision API, görüntülerde nesne algılamayı ve yerelleştirmeyi nasıl gerçekleştirir?
Gelişmiş görsel anlama bölümünde daha fazla soru ve yanıt görüntüleyin