Delphi içinden uEye Kamera Kullanımı

iDS uEye kameralar, son derece güçlü bir SDK ile birlikte gelmektedirler.  Güçlü yanlarını genel başlıklar altında toplarsak

  • 32 bit ve 64 bit işletim sistemleri için %100 destek
  • Tüm platformlar için %100 destek (Native Windows, .NET, Linux, Web)
  • ActiveX, OCX bileşenleri olarak kullanabilme
  • Native .NET kütüphanesi
  • Tüm görüntü işleme arabirimleri (HALCON, neurocheck, cognex…)
  • Birçok derlenmiş ve çalışan örnek uygulamalar

vb. sayılabilir.

.NET ortamında uygulama geliştirmek için, C# ve onun güçlü IDE si VS yi kesinlikle tavsiye ederim. Buna rağmen, Delphi ile uygulama geliştirmenin cazibesi de hala devam etmektedir. Bunları da kendime göre kısaca sıralarsam;

  • En hızlı Native Win32 uygulama
  • Delphi 1 den itibaren standartlaşmış güçlü ve oturmuş IDE
  • ObjectPascal dilinin getirdiği güç artı kolaylık
  • Birçok VCL, hazır kod, library vb. vb.
  • Açıklanamayan Delphi bağlılığı/sevgisi

Delphi 1 den Delphi 2010 versiyonuna kadar Delphi kullanmış biri olarak, laf açılmışken susmam son derece zor olduğundan, lafı burada keserek, Delphi içinden uEye kameralarının kullanımına geçiyorum.

1. Öncelikle uEye Driverları ve programları Full olarak kurulur. (www.ueyesetup.com)

2. uEye Demo programı ile kameranın düzgün olarak çalıştığı test edilir.

3. Şimdi Delphi Çalıştırılır (Resimler Delphi2009 programından alınmıştır. Delphi5 ten itibaren aynı mantık geçerli olduğundan tüm versiyonlar için burada anlatılanlar geçerli olacaktır)

ilk iş olarak, diğer tüm ActiveX bileşenlerinde olduğu gibi, uEye ActiveX bileşeni Delphi içinden yeni bir component olarak install edilir.

Bunun için Component ana menüsünden, “Import Component” menü öğesi seçilir. Gelen ekranda “Import ActiveX Control” radio button işaretlenir ve aşağıdaki ekran gelir.

Bu ekranda uEyeCam ActiveX Control bulunur ve istenilen Delphi component paletine yüklenir. (Ben Additional sekmesini seçtim. ActiveX ya da System gibi palet ler daha okunaklı görünebilir. İStediğinizi seçebilirsiniz zaten, dilerseniz yeni bir palet te oluşturabilirsiniz)

Sonraki ekranda Create New Unit” seçerek ilerledim ve nihayetinde Deplhi bana yeni ActiveX bileşenimin Additional paletine başarıyla yüklendiğini söyledi.

Artık delphi içinden kullanıma hazırım.

Normal form tasarlar gibi çalışıyorum artık. Additional paletinden uEye ActiveX bileşenini formun üzerine koydum ve istediğim gibi ölçeklendirdim.

sonrasında işime yarayacak bazı butonlar koydum. Kamera Aç, Kapat, Resmi Farklı Kaydet vb. gibi.

“Yükle” butonuna

uEyeCam1.InitCamera(0);

kodunu ekliyorum. Ve daha fazla kod yazmadan hemen F9 a basıyorum ve ta taaa… Yine Delphi hızı ve mucizesi ekranda beliriyor…

Dilersem, fotoğrafı farklı kaydetmek için;

uEyeCam1.SaveImage(”);

kodunu kullanabilirim. Parametee olarak ” kullanırsam, kaydedeceğim yeri seçmem için Save Dialog görüntülenecektir. Belirli bir yere kaydetmek istiyorsam, bunu parantez içinde belirtmem yeterlidir.

Kamera ile işim bittiğinde (Formu kapatırken vs.)

uEyeCam1.ExitCamera;

kodunu çağırmam yeterli olacaktır.

Hepsi bu kadar kolay…

uEye ActiveX bileşeninin yüzlerce fonksiyonu mevcuttur ve bunlar Help kısmında son derece detaylı açıklanmıştır. İhtiyaç duyulabilecek hemen her fonksiyon gerçek bir Alman mühendisliği inceliğiyle kodlanmıştır. Programcıya son derece kolay bir kodlama işi kalmış, geliştirilen uygulama diğer Delphi uygulamalarında olduğu gibi, “En Hızlı” ve “En Şık” olarak harddisk te yerini almıştır.

Bir tüyo : Ekranda karşınıza çıkan default iDS uEye görüntüsünden hoşlanmıyorsanız, kendi marka ve logonuzu içeren bitmap dosyayı C:\Windows\System32 klasörüne uEyeCamOcx.bmp ismiyle kaydedin 😉

Uygulama başlar başlamaz sizi bu ekran karşılayacaktır.

Delphi içinden uEye Kamera Kullanımı” üzerine 3 düşünce

  1. En Hızlısı? sorusu başlı başına kara delik. Elbette WINAPI, VCL e göre daha hızlıdır. Makale de bahseidlen, genel olarak Native exe üreten Delphi derleyicisinin, Interpreter kod üzerinden çalışan (.NET, Visual Basic vb. gibi) türevlerden daha hızlı olduğudur. Aslında bu da tartışılabilir bir konudur. Önce soruyu netleştirmek lazım. Hız derken ne kastediliyor? String işlemleri mi, pseude işlemler mi, floating point işlemleri mi? while for vb. dil öğeleri mi?

    sonuçta olayı basite indirgeyerek, herkesin kabul edeceği bir kaç kapsama gelirsek

    Grand totalde, eğer sözkonusu olan hız yarışı ise BCB/Delphi hızlıdır.

    VC++ ise BCB/Delphi den daha hızlıdır.

    Diğer yandan, olayı en derine indirirsek, BASM mi yoksa MASM mi daha hızlıdır olayına gelir.

    4-5 yıl öncesine kadar bütün bunlara cevap vermek kolaydı (ya da en azından cevap vardı)

    Günümüzde hız söz konusuysa, soru da cevap ta binlerce parametresiyle ortaya koyulmalı ki anlamlı olsun.

    Zaten Borland neden son 4-5 yılda inanılmaz bir düşüşe geçti ve 23 milyon USD gibi süper trajikomik rakamlara satıldı sorusunun cevabı ile kesişilir.

  2. hallo,
    ich programmiere schon lange mit Delphi 7 und moechte gerne mit einer ueye Kamera filme aufnehmen, wie ist der quelcode zum Aufnehmen von avi files
    gruss werner

Bir Cevap Yazın

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