14 Nisan 2009 Salı

Resim ( İmge ) işleme ortamı (Image Processing Environment) :D

Yakın gelecekte opensource olarak yayınlamayı düşündüğüm bir çalışmam var. Resim işleme ortamı olarak adlandırmayı düşünüyorum.

Şuan da program linux ve windows altında kullanıldı ve test edildi. Fakat bir takım düzeltmeler daha yapılması gerekiyor. Şu anda input olarak webcam,klasörün içerisindeki imge dosyaları ve video dosyaları üzerinden çalışmakta program. Programın amacı kısaca yazmakta olduğunuz algoritmanın adım adım yada akıcı bir şekilde nasıl çalıştığını giriş ve çıkış pencerelerini kullanarak izleyebilmek ve geliştirme aşamasında image processing algoritmanızın yapımında hızlı bir deneme aracı olması için tasarlandı. Capture için ayrı processing için ayrı threadler kullanan yazılım da cpu kullanımını optimum şekilde kullanılmaya çalışıldı.

Başlangıç olarak programın bir kaç ekran görüntüsü aşağıdaki gibidir...








( resimlere özel sansür uygulanmıştır korkmanıza gerek yok :) )

TpTRemoteAccess (OpenSource)

Bu bizim opensource projelerimizden bir tanesi bu projede amaçlanlar kısaca :

* Hem opensource hemde multiplatform(Linux,Windows, (belki mac) ) uzaktan kontrol yazılımı geliştirmek
* Kullanıcılar arasında yardım amaçlı erişimi daha kolay ve kullanılabilir hale getirmek
* Otomatikleştirilebilir yardım özellikleri ile kendi makinanıza giriş iznini barındırabileceğiniz ve nereye giderseniz makinanızın size erişebileceği bir platform kurmak

olarak belirlenmiştir. Yakın zamanda olmasını umduğumuz beta test aşamasına geçeceğiz. Sizlerinde önerileri olur ise değerlendirilecektir.

Gelişmeler oldukça bilgilendirmeye çalışacağım

3 Nisan 2009 Cuma

Xorg cpu kullanımını düşürmek

Xorg cpu kullanımını düşürmek için xorg.conf dosyanızın kullandığınız device bölümüne aşağıdaki kodları ekleyerek cpu kullanımında bir iyileşme sağlayabilirsiniz...

Option "EnablePageFlip" "on"
Option "XAANoOffscreenPixmaps" "true"
Option "AccelMethode" "EXA"
Option "RenderAccel" "on"
Option "UseEvents" "on"

ubuntu gnome özel klavye kısayolu atama

Gnome masaüstünde sistem > tercihler > klavye kısayolları altında ayarlanmış bir çok komuta yapılmış atamayı düzenleyebilir yada atama yapılmamış komutlara yeni atama yapabilirsiniz..

Fakat iş kafanızdaki başka bir komuta geldiğinde işler biraz değişiyor..

Bu işlem için compiz in bize sağladığı Commands sekmesini kullanacağız..

Alt + F2 yaparak çalıştır kutucuğunu açın..

ccsm


komutunu girin.. compiz ayar yöneticisi karşınıza çıkacaktır.. buradan Genel > Commands sekmesinden Commands öğesini aktif duruma getirin..

daha sonra Commands ösesinin Commands tabındaki 0.komut satırına örnek olarak..

gnome-terminal


yazın..

Key Bindings tabına geçin ve 0.komutu çalıştır yazılı yerin sağ tarafındaki butona tıklayarak geçerli olacak kısayolunuzu girin..

mesela "Ctrl + t" gibi..

bu şekilde diğer araç gereçlerinize yeni kısayollar atayabilirsiniz..

QDevelop + Qt 4 Tutorial 1

selam tosbağacıklar qdevelop qt4 ile nasıl kullanılır bi bakıcas..

öncelikle qdevelop nedir.. qdevlop c++ dili için multi platform bir ide dir.. yani c++ ile yazıyosunuz istediğiniz sistem için o sistemde derliyorsunuz.. aynı kod win yada unix sistemlerde çalışmış oluyor..

şimdi qdevelop arayüzünü açıyorsunuz.. yeni proje deyip projenize bir isim veriyosunuz.. ana pencereli uygulama seçiyorsunuz ve tamam diyorsunuz..

karşınıza hemen hemen şu ekran çıkıyor..



şimdi öncelikle kullanıcağımız arayüzü hazırlamamız gerekiyo tabi arayüz kullanıcaksak ama madem kullanmıcas neden ana pencereli uygulama seçtik dimi.. =)

bu durumda qdevelop da solda menüyü genişletip mainwindow.ui ( arayüz ) ü bulup iki defa tıklıyoruz.. qt nin açılması lazım..

açıldığında yeni bişey eklemek istiyormusunuz diye bi uyarı çıkıyor eklemek isterseniz yeni dialog larınızı ekleyebilirsiniz şu aşamada gerek yok..



close deyip kapatıyor devam ediyoruz..

qt de formunuza nesne eklemek basit.. soldan panelden alıp ekleyebiliyorsunuz.. bu örnekte listwidget , lineedit , 2 de buton eklenmiştir.. ordan alıp formunuza koyun..



sağ taraftaki menüde ise eklediğiniz nesnelerin özelliklerini bulup değiştirebilirsiniz..

bunu yapmadan önce qt de kod yazmadan programlamanın bir kısmını halledebiliyoruz nasıl mı yukardan menüden edit signals / slots a tıkladığımızda widget paneli kilitlenip ortam renkleri biraz değişiyor..



bu aşamada mesela bir butonla bir text in yada list in temizlenmesi gibi basit işlemlerinizi halletmeniz mümkün.. butonumuza tıklayıp listbox ımıza sürüklersek.....



bu görüntüyle karşılaşıyoruz.. aynen devre çizim programlarında kablo bağlar gibi zaten arada topraklama simgeleri de görmek mümkün =)

ve bıraktığınızda bu menü karşınıza çıkıveriyor..



burda sol taraf birinci nesnenin sağ taraf ikinci nesnenin olayı..

tıkladığımızda temizlensin iztiyoruz.. clicked() olayını clear() olayına bağlayıp bırakıyoruz..

daha sonra nesnelerimizin özelliklerinden isimlerini birascık ayarlıyoruz..



Ekle yazan butonun adını btnEkle (ortamda değişken isimleri küçük harfle başlar diğer kelimelerin baş harfleri büyün gerisi küçük olarak devam eder.. alışalım..)

listenin adını lstEkle ve textbox ın adını txtEkle olarak ayarlıyorum..



save edip kapatıyoruz burdaki işimiz sona erdi.. arayüzümüz hazır..

şimdi qdevelop a geçiyoruz.. mainwindow.ui ye sağ tıklayıp.. iletişim kutusu alt sınıf oluşturma seçeneğini seçiyoruz.

karşımıza şumenü geliyor..



burda nesnelerimizin kullanacağımız olaylarını seçiyoruz.. mesela biz bu örnekte btnEkle butonunun click olayını kullanıcas sadece onu seçiyoruz..


bu aşamada sinyal bağlama gibi bişeyden bahsedilir.. aynı işlemin görsel şeklidir sinyal filan bağlamaya kalkmayın.. =)

zaten mainwindowimpl.h dosyamızda değişikliği görebiliyoruz..



buton tıklanma olayımız eklenmiş vaziyette..

mainwindowimpl.cpp mize geçiyoruz.. bi de ne görelim orda da bişeyler eklenmiş..



bu arada TODO die bırakılan yer bizim buton tıklandığında yapılmasını istediğimiz olayların kodunu yazacağımız yer olarak bize tahsis edilmiş alan =)

hemencik kodumuzu yazıveriyoruz..



bitti bile..

şimdi dosyamızı derliyoruz..

[i

daha sonra da çalıştırıp deniyoruz..








umarım yardımcı olabilmişimdir..

Selametle..