Merhaba Arkadaşlar. Linkte görüldüğü gibi Osmanlıca Harf tanıma yapmaktayım. Görüntüde bulunan harfleri bir not defterine çıktı olarak alabiliyorum. Bu çıktı yanında bu harflerin ekrana bu yeşil çerçevelerin üstüne de yazmak istiyorum nasıl bir yol izlemeliyim. Örneğin yüz bulma algoritmalarında yüzü bulup çerçeve içine alıp "face" yazıyor. Bunun yerine bu çerçevelerin üstüne nasıl yazarım.
https://hizliresim.com/Q3MQYP
text ve annotation ile eksen ve figürtler üzerine yazı ve işaretçiler koymak mümkün.
Ama ben bu yazıları veritabanından çekmek istiyorum yani not defterine çıktı olarak değil bu figure çıktı olarak vermek istiyorum bu nasıl mümkün olur ?
İş akışınızı bilmiyorum ancak, matlab açısından en pratik yol figure oluştuktan sonra metni çekip figure uzerine yazdırmak olabilir. Hangi şekle hangi yazının geleceğini siz zaten belirliyorsunuzdur sanıyorum.
Evet matlab ile çıktı veriyorum. Bu çıktılarıda belli bir algoritmaya göre yapıyor bir matris yapısında korelasyona bakıyor
Boundingbox denen mevzu bütün resimler matris yapısında olduğu için zaten logic formda birbirine yakınlığına uzaklığına bakıyor mesela resimde yuvarlağı da kutu içine almış o bir hata ama yinede kabul edilebilir. Resmin orjinali zaten çok karışık bu hale threshold ile getiriyorum tek sıkıntım oraya yazı yazmak.
boundingbox ile dikdortgenin konumunu belirliyorsunuzdur. Ardından figure'un uzerinde cizmek için plot mu kullanıyorsunuz?
Hayır çizdirmek için bir komut kullanmıyorum algoritma orayı tek bir nesne gibi algılıyor mesela bir resimde insan yüzlerini bulup çerçeve içine otomatik alıyor ya bu da harfleri çerçeve içine alıyor.
Eğer nasıl çizim yaptığınızı anlayabilseydim matlab tarafında "çizimin üzerine yazı ekle" gibi daha sağlıklı bir yapı kurmayı deneyebilirdik.
Yeşil dikdortgenin konumunu programatik olarak elde edebiliyor olmanız lazım. (Zaten boundingbox'ın çıktısı budur. Şekil başka bir şekide oluşuyor olmalı. )
Dikdortgenin konumu ile beraber text komutunu kullanabilirsiniz. Mesela dikdortgenin uzerinde ve ortalanmış bir yazı için,
text(dikdortgenin_x_ekseninde_orta_noktasi, dikdortgenin_y_ekseninde_orta_noktasi + 50, "Üzerine yazılacak kelime")
gibi bir komut kullanılabilir.
+50'yi, yazı biraz daha yukarıda olsun diye göz kararı yazdım. Bu arada yazı normalde siyahtır, sizin arka plan da siyah olduğu için ayrıca rengi değiştirmek de gerekebilir,
text(dikdortgenin_x_ekseninde_orta_noktasi, dikdortgenin_y_ekseninde_orta_noktasi + 50, "Üzerine yazılacak kelime", 'Color', 'white')
Çok teşekkür ederim bunu deneyeceğim ancak eksenler her resimde farklılık gösterebiliyor buna da bir çözüm bulmam gerekiyor sanırım çok teşekkür ederim iyi çalışmalar.
O yeşil kutuyu çizen komut neyse, illaki koordinatlarını da bir değişkene atanmak üzere veriyordur. Bunu tespit ederseniz kalanı kolay.
Evet koordinatları belirleyip dediğiniz uygulamayı deneyeceğim çok teşekkür ederim tekrardan. Sorun çözüldüğü zaman çözülmüş olarak işaretlerim takip etmek isterseniz oradan bakabilirsiniz.