Aspose.Görüntüleme Cloudu Logosu

Nesne algılama, dijital görüntülerde ve videolarda belirli bir sınıftaki (insanlar, binalar veya arabalar gibi) semantik nesnelerin örneklerini algılamakla ilgilenen bilgisayar görüşü ve görüntü işlemeyle ilgili bir bilgisayar teknolojisidir. Nesne algılamayı Cloud API kullanarak programatik olarak gerçekleştirmeniz gerekiyorsa, Aspose.Imaging Cloud API’leri mükemmel bir seçimdir. Müşterilerimize kolaylık sağlamak için dil özel SDK’ları da geliştirdik. Bu nedenle Aspose.Imaging Cloud Java SDK, Java kullanarak nesne tanıma için uygun bir seçimdir.

Son sürümlerde, SDK’larımıza nesne algılama özelliğini dahil ettik ve bu özelliğin yardımıyla kullanıcılar, etiketleri ve olasılıkları olduğu sürece, bir giriş görüntüsündeki nesne sınırlarını algılayabiliyorlar. API şu anda 3 raster görüntü formatını (BMP, JPG ve JPEG2000) destekliyor ve Tek Atış Dedektörü (SSD), nesneleri tanımak için algılama yöntemidir. Bununla birlikte, sonraki sürümlerimizde birkaç başka yöntemi ve görüntü formatını entegre etmeyi planlıyoruz. İşlem API aracılığıyla gerçekleştirildiğinde, algılanan nesne sınırları, etiketleri ve puanları olan bir JSON nesnesi veya üzerinde nesne sınırları ve etiketleri olan bir sonuç görüntüsü elde edebiliriz. Şu anda, bir kişi, bisiklet, araba, kedi, köpek, at vb. gibi nesneleri tanımlayabilirsiniz. Kullanılabilir etiketlerin listesi hakkında daha fazla bilgi için aşağıdaki bağlantıyı ziyaret etmeyi düşünebilirsiniz.

Nesneleri algıla ve görüntüde vurgula

Bir görüntünün içindeki nesneleri tespit etmenin iki seçeneği vardır, yani depolamadaki bir görüntü üzerinde bir işlem gerçekleştirmek veya istek gövdesine iletilen bir görüntü üzerinde bir işlem gerçekleştirmek.

Cloud Depolamadan Görüntüleri İşle

İlk yöntem, önce Cloud Storage’a bir görüntü yüklemenizi ve ardından adını API URL’sine geçirmenizi bekler. Nesne algılamasından sonra API, yanıtta ortaya çıkan görüntüyü döndürür.

Ayrıca Cloud depolama alanlarının dosyaları depolamak ve erişmek için hızlı ve kolay bir yol olduğunu anlıyoruz. Nesne algılama prosedürü bulut depolama alanında depolanan görüntülerde kolayca gerçekleştirilebilir ve sonuç dosyası yanıt başlığında döndürülür. Aşağıdaki cURL komutunda, nesne algılama işlemi, argümanların Tek Atış Dedektörü’nü (SSD) algılama modeli olarak kullanması, eşik değerini 50’de tutması, sonuç görüntüsündeki nesnelerin etiketlerini eklemesi ve ayrıca nesne algılama puanını belirtmesi belirtilen birden fazla nesne içeren bir görüntüde gerçekleştirilir. Ayrıca, Zebra, zürafa, at’ı allowedLabels argümanına karşı izin verilen etiketlerin Virgülle ayrılmış listesi olarak belirttik. Bununla birlikte, sonuç dosyasını yerel sisteme kaydetmek istiyorsanız, -o kullanmayı deneyebilir ve sonuç dosyası için bir konum belirtebilirsiniz.

cURL komutu

curl -v "https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/71ElMFUKIvL.jpg/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=zebra, giraffe, horse" \
-X GET \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o c:/pdftest/mydetected.jpeg

Java Kod Parçacığı

 public void VisualBoundsAnImageInCloud() throws Exception {

	String fileName = "object_detection_example.jpg";
	
	String method = "ssd";
	int threshold = 50;
	Boolean includeLabel = true;
	Boolean includeScore = true;
	String color = "blue";
	String folder = CloudPath; // Input file is saved at the Examples folder in the storage
	String storage = null; // We are using default Cloud Storage

	GetVisualObjectBoundsRequest request = new GetVisualObjectBoundsRequest(getSampleImageFileName(), method, threshold, includeLabel, includeScore, color, folder, storage);

	byte[] resultImage = ImagingApi.getVisualObjectBounds(request);
	Path path = Paths.get(OutputFolder, "object_detection_example_out.jpg").toAbsolutePath();
    Files.write(path, resultImage);
}
Nesne algılama için kaynak dosyası

Resim 1:- Nesne algılama için kaynak dosyası

Algılanan nesnelerle sonuçlanan görüntü

Resim 2:- Tanınan nesnelerle sonuç dosyası

Depolama Olmadan Görüntüleri İşle

Görüntü işleme API’si, görüntüyü doğrudan yerel depolamadan istek gövdesine geçirebileceğiniz ikinci bir yöntem (POST) sunar. Ayrıca, outPath parametre değerini belirterek ortaya çıkan görüntüyü Cloud Storage’a kaydetmenize olanak tanır. Ancak, değeri belirtmezseniz, yanıt akışlı bir görüntü içerir.

cURL komutu

curl -X POST "https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe&color=yellow" -H "accept: application/json" -H "authorization: Bearer <jwt token>" -H "Content-Type: multipart/form-data" -d {"imageData":{}}

İstek URL’si

https://api.aspose.cloud/v3.0/imaging/ai/objectdetection/visualbounds?method=ssd&threshold=50&includeLabel=true&includeScore=true&allowedLabels=bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe&color=yellow

Java Kod Parçası

public void VisualBoundsAnImageInRequestBody() throws Exception {

	String fileName = "object_detection_example.jpg";
	
	String method = "ssd";
	int threshold = 50;
	Boolean includeLabel = true;
	Boolean includeScore = true;
	String color = null;
	String outPath = null;
	String storage = null; // We are using default Cloud Storage

	byte[] inputStream = Files.readAllBytes(Paths.get(ExampleImagesFolder, getSampleImageFileName()));
	CreateVisualObjectBoundsRequest request = new CreateVisualObjectBoundsRequest(inputStream, method, threshold, includeLabel, includeScore, color, outPath, storage);	

	byte[] resultImage = ImagingApi.createVisualObjectBounds(request);
	Path path = Paths.get(OutputFolder, "object_detection_example_out.jpg").toAbsolutePath();
    Files.write(path, resultImage);
}
Atlı giriş resmi

Resim 3:- Koşan atlı giriş resmi

Resimde at nesnesi algılandı

Resim 4:- At %98 puanla tespit edildi

Çözüm

Bu makalede, Java SDK kullanarak Nesne Tanıma ile ilgili yetenekleri inceledik. SDK o kadar şaşırtıcı ki tek bir denemede birden fazla nesneyi kesin olarak belirleyebiliyor. Kullanıcıları daha da kolaylaştırmak için, nesneleri vurgulamalarını ve buna göre etiketlemelerini sağlıyor. API’yi kullanırken herhangi bir sorunla karşılaşırsanız, lütfen ücretsiz ürün destek forumu aracılığıyla bizimle iletişime geçmekten çekinmeyin.

İlgili Makaleler

Konuyla ilgili bilgi edinmek için aşağıdaki bağlantıları ziyaret etmenizi öneririz: