Görüntü İşlemeye Başlayacağım, Nereden Başlamalıyım?

talhakoc 5 Aralık 2016OpenCv

Merhabalar değerli arkadaşlarım. Özelden gelen yorumlar, mailler üstüne bu şekilde bir başlık açmaya karar verdim. Umarım görüntü işlemeye yeni başlayacak veya başlamış arkadaşlarıma faydası olur.

Görüntü işlemeye başlamadan önce neden başladığınızın, ne yapmak istediğinizin bilincinde olmanızda fayda olacaktır. Proje bazlı reel hayattaki bir problemin çözümü için mi kullanacaksınız? Yoksa sadece kendinizi geliştirmek mi istiyorsunuz? (İleriki günlerde görüntü işlemenin ne kadar önemli bir alan olduğu ve ilgilenilmesi halinde neler yapılabileceği ile alakalı bir paylaşım da yapmayı düşünüyorum). Eğer proje bazlı bir problemi çözmek istiyorsanız hangi platformu kullanacağınız önem arz etmektedir. Mesala mobil uygulamalar için java kullanmanız gerekirken basit bir mantıkla masaüstü uygulaması geliştirmek için c#, visual basic gibi üst seviyeli dillerde program geliştirmek daha iyi bir tercih olacaktır. Ancak performans gerektiren, belirli bir nesneyi tanımak gibi özellik çıkarımı yapılacak bir uygulamada ve gömülü sistemlerde koşturulacak bir ortam için c, c++ veya phyton daha iyi bir tercih olacaktır. Opencv nin bütün bu dillere uyumlu kütüphanesi mevcuttur.  Piyasaya yönelik performans gerektirmeyen bir uygulama geliştirecekseniz C# veya visual basic programlama dillerini opencv nin dll lerini kullanan emgucv ile kullanmanız daha mantıklı olacaktır. İlerleyen zamanlarda emgucv nin visual basic ve c# a nasıl kurulacağından da bahsedeceğiz. Ve birçok sektörel probleminizi bu şekilde çözebilirsiniz. Diğer türlü c++ tan dll veya clr oluşturmak zorunda kalabilirsiniz.

Performans isteyen bir uygulama içinse opencv c++ kullanmanız en mantıklısıdır. http://talhakoc.net/opencv-c-3-0-ve-ustu-kurulumu-visual-studio-2015/ adresinden opencv c++ ı kurup denemeler yapabilirsiniz. Bunun dezavantajı ise c# ve visual basic platformlarının sunduğu form olanaklarını sunmamasıdır. Ancak şu da unutulmamalıdır ki c++ ve c projeleri birkaç megabayt tutarken c# veya visual basic emgucv çalışmaları gb lar mertebelerine çıkabilmektedir. Tabiki bunlara rağmen c ve c++ ın daha yüksek performans gösterdiği unutulmamalıdır. Sonuçta bu dillerin de temeli c ve c++ tır. Projenizin gereksinimine göre bir dil tercih etmek öncelikle en mantıklı başlangıç olacaktır.

Android veya ios gibi mobil platformlar için ise android için java kullanmak en iyi çözüm olabilir. Tabiki farklı platformlarda da bu uygulamalar geliştirilebilir ancak opencv nin java için de dökümantasyonu iyi olduğundan bu alan daha uygun olabilir.

Eğer kendinizi geliştirmek, bu alanda piyasaya iş yapmak veya kendi projelerinizi geliştirmek istiyorsanız en başta opencv c++ ile başlamanızı tavsiye ederim. Sayfamda http://talhakoc.net/opencv-c-egitimi/ linkinde bunun temel eğitimini bulabilirsiniz. Opencv c++ ile oluşturduğunuz temeli kolaylıkla javaya veya emgucv li üst seviyeli dillere de taşıyabilirsiniz.

Görüntü işlemeye başlamak için bu aşamalardan da önce tavsiye etmek istediğim bir konu var. Görüntü işlemenin teorik kısmı hakkında bilgi sahibi olmanız yaptığınız işi öğrenme, benimseme veya kendinize göre geliştirebilme durumunda size büyük avantaj sağlayacaktır. Eğer görüntü işleme temelleriyle alakalı teknik bir ders almadıysanız veya bir araştırma yapmadıysanız Yıldız Teknik Üniversitesi değerli hocalarından Bülent Bayramın Sayısal Görüntü İşleme Dersi tam da size göre. Bu derse de http://www.yildiz.edu.tr/~bayram/sgi/saygi.htm bu linkten ulaşabilirsiniz. Bu konuları öğrendikten sonra uygulamasını benim sitemdeki derslerden yapmanız sizin için daha etkili bir öğrenme yöntemi olacaktır.

Bunların yanında bu sitedeki dersler görüntü işleme için size temel oluşturacak düzeydedir. Tabiki burada öğretilenlerle sektördeki birçok ihtiyacı karşılayabilir, hatta kendinize ait belirli projeleri de gerçekleştirebilirsiniz. Ancak Görüntü işlemeyi ileri düzeyde öğrenmek istiyorsanız ingilizce bilgisi ile beraber, algoritma bilgisi, ve araştırma azmi bulunması gerekmektedir. Unutmayın ki ciddi görüntü işleme projeleri belki senelerce sürebilmekte ancak sonuçları gerçekten çok büyük faydalar sağlamaktadır. Yani iyi, usta bir görüntü işlemeci olabilmek için ingilizceyi ve algoritma mantığını bilip sabırla çalışmak, araştırmak gerekmektedir. Tabi ki bir ekip olmak, birbirlerine karşı sorumluluk hissetmek, ataleti yenmek açısından önemli avantaj sağlayacaktır. Kendini bu alanda geliştirmek ve ekip olmak isteyen, önce iyi bir çalışma çıkarmayı, öğrenip kendini geliştirmeyi ve daha sonrasında maddi getirisini düşünen arkadaşlar için bir proje ekibi kurmak düşüncesindeyim. İlgili arkadaşlar [email protected] adresine mail atabilirler. Bir sonraki yazımda görüşmek dileğiyle…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Arama

Twitterda

© 2014 - Talha Koç. All Rights Reserved. Powered by Wordpress and Design by We Create Web Designs