Matematik ve programlama gerçek hayatta ne işe yarar:emeksensin.com ve rengarenk

0
FZ
Emeksensin.com'da en son yaptığımız yeniliğin adı Rengarenk. Rengarenk özelliği ile eserleri renklerine göre arayabiliyorsunuz. Buradan deneyip görebilirisiniz: http://www.emeksensin.com/rengarenk. Renk arama özelliği dünyada az sitede görebildiğimiz bir özellik çünkü bunu yapabilmek için bazı zor problemleri çözmek gerekiyor. İlk problem eserin resmindeki binlerce renkten önemlilerini seçmek. Bunu yapan birçok görüntü işleme algoritması var. Biz OpenCV kütüphanesini kullanarak bir gerçekleme yaptık.
İkinci problem renkleri insanın algısına göre gruplamak. Henüz bu konuda uzmanlar tek bir fikirde anlaşmış değiller fakat temelde netleşen bazı kurallar var. Uygulamada renklerin RGB değerlerini bu kurallar ışığında kodlayıp insan algısını yansıtan bir renk uzayına haritalamak gerekiyor.

İlk iki problem çözüldükten sonra, önümüzde bir uygulama problemi var: Üç boyutlu renk uzayında bir bölgeyi arıyoruz. Her boyutu ayrı kaydedip sorguda üç değişkenin sınırlarını veriyorsanız ve üstelik renkleri ilişkisel veri tabanına kaydettiyseniz üzgünüm bu uçak düşer. Neyse ki aynı problem iki boyutlu uzayda coğrafi veritabanlarında daha önce çözülmüş. Hilbert kodlamasını ve özel amaçlı veri tabanımızı (YBDBdoo) kullanarak sorgularımızı kabul edilebilir hızlarda yapıyoruz. Hilbert dönüşümü için kullandığımız uzaygezen projesini çok başarılı bulduk.

Gerisini zaten biliyorsunuz: Basit bir renk paleti, ajax ve emeksensin'in alıştığımız hızlı ve sade kullanıcı arayüzü.

Görüşler

0
Dite
Ve nitekim "pek bi zor" problemleri çözmeyi başaramamışsınız. Bkz: Kötü seçim örneği.
0
Tarık
matematik ve programlama gerçek hayatın %98. geriye kalan yemek ve sex.

güzel proje, derin fikirler.
0
mdakin
Hilbert egrilerinin kullanilmasi guzel ve ilginc. Uzaygezen'i kullanan ilk acik kodlu proje bu sanirim.

Ilk aklima gelen soru, renk uzayini biraz kucuk tutarak daha basit ve bellekte calisan bir sey de cozum olmaz miydi? Sonucta sadece 3 boyut var. Cok safca bir yaklasimla, her renk bileseni -varsayalim r,g,b- icin 4-5 bit ayirsaniz ve bu 12 veya 15 bitlik degerleri bir dizinin indeksi olarak kullanip dizinin gozlerine de o rengi tasiyan resimlerin ID'lerini yerlestirseniz. Daha sonra arama yaparken aranan renge ait goze (belli bir hata toleransi kullaniliyorsa bazi araliklara) bakmak yeterli olacaktir. Tabi burada resim x renk kombinasyonlarinin rahatca bellege sigacagi varsayimini yapiyorum. Eger bellege sigmasza berkeleydb, Tokyo file cabinet tarzi basit bir key-value veritabani da kullanilabilir.. Bu cok basit ve kaba bir hack ama calisir gibi gorunuyor.

Elbette ki Hilbert egrileri veya diger benzerlik arama mekanizmalari daha genel amacli cozumler sunacaktir. Ozellikle ilerde resimlerle ilgili daha farkli ozellikleri de hesaba katinca, yani boyut sayisi ve uzayin buyuklugu arttigi zaman.
0
mdakin
Kucuk duzeltme:
- Proje acik kodlu degilmis
- Arayuzdeki renk secenegi az oldugu icin her halukarda bir kup icerisinde kup arama seklinde oluyor, yine de uzay kucukse, benzeri bir hack ise yarayacaktir. Bu tur durumlarda brute force yaklasimlari gecmek zor olabiliyor.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Java(TM) 2 SDK, Standard Edition sürüm 1.4.0 çıktı

conan

En son Ocak sonunda Release Candidate (Sürüm adayı?) haberini gördüğüm J2SE`nin son sürümü olan 1.4.0 çıkmış. (Ya sessiz sedasız çıktı ya da sağırım :) Çıkış bildirisini buradan, dökümanlara buradan, yeni özelliklerine tam buradan, karar verdim indireceğim diyorsanız da buradan ulaşabilirsiniz. ;)

SPAM´e Türk Yazılımcıların Cevabı: zabit

honal

Türkiye'nin ilk açık kod yazılım geliştirme takımı EnderUNIX, yeni yazılımını sunar: zabit

Internet kullanıcılarının ve sistem yöneticilerinin en önemli problemlerinden birisi kuşkusuz spam e-postalardır. Yıllardır Qmail üzerine çalışan ekibimiz, Qmail için bir spam filitreleyici yazmıştır. Geliştiricilerimizden N.Ersen Şişeci tarafından geliştirilen yazılım, içerik ve eklenti filitreleme özelliklerine sahiptir.

Tamamen C ile yazılan ve bu nedenle script dilleri ile yazılmış eşdeğerlerine göre oldukça hızlı olan yazılım, virüs tarayıcı clamav ile birlikte çalışabilmektedir. Eklenti filitrelemesi sayesinde Clamav'ın taradığı dosya sayısı yaklaşık 1/3 oranında azalmaktadır. Böylece e-posta sunucunuzun performansı bir hayli artmaktadır. İçerik filitreleme ile de kullanıcılara çok daha az spam e-posta ulaşmaktadır.

POCO C++ Kütüphanesi Örnekleri

mustafa_

POCO C++ kütüphanesi açık kaynak kodlu, daha basit ve hızlı olarak ağ merkezli(network-centric) portatif uygulamalar geliştirmeyi sağlar.

C++ dilinin geliştiricisi Bjarne Stroustrup'un belirttiği gibi:
"İyi bir kütüphane olmadan,çoğu ilginç görevlerin C++'da yapılması zordur, ancak iyi bir kütüphane ile hemen hemen herhangi bir görevin yapılması kolaydır."

Relink: Temiz Bir Sistem, Temiz Bir Dünya

FZ

Relink her türlü UNIX ve uyumlu sistem üzerinde yazılım paketleriyle boğuşan yazılımcılar, sistem yöneticileri ve kullanıcılar için geliştirilmiştir. Evet bazı paketleme sistemleri iyidir (RPM), bazıları çok iyidir (DEB), bazıları ise değildir. Bazıları, yazılımı kaldırdığınıza ya da güncellediğinizde ortada bir sürü çöplük bırakır. Bazılarının betik dosyaları rezalettir. Bazıları ise kendi içinde bile eski sürümlerle uyumsuzluk gösterir. make uninstall her zaman mükemmel çalışmaz. Bazı kişiler zaten paket yönetim sistemleri ile uğraşmak istemez... Ama üzülmeyin çünkü Relink var, bunalımdaki ruhları içine düştükleri kaostan çıkarmaya aday bir yazılım!

Xen: VMware® için özgür alternatif

roktas

VMware`in özgür ve üstelik daha hızlı alternatifini buluyoruz galiba. Bu haber OSNews`de dikkatimi çekti. Xen, Cambridge üniversitesi Bilgisayar Labortuvarlarında geliştirilmiş özgür lisanslı bir sanal makine yazılımı. İhtiyaç sahipleri bilirler, sanal makine yazılımları özellikle önyükleme ve sistem kurulumu yazılımlarının test edilmesinde, kirlilik oluşturmadan farklı işletim sistemlerinin denenmesinde çok yararlıdır. VmWare`in mevcut alternatifleri Bochs ve Qemu yeterli performansa sahip değiller ve böyle bir şeye hakikaten ihtiyaç vardı. (Qemu Bochs`dan çok daha iyi durumda, fakat VmWare ile karşılaştırıldığında maalesef o da yavaş kalıyor.) Xen özel tekniklerle (?) böylesi bir yüksek performansa ulaşabiliyor. Daha şimdiden Redhat, Novel, HP vb. bu projeye üşüşmüş durumdalar. Xen`in Linux çekirdek kod tabanına eklenmesi de gündemde. Ha unutmadan, anladığım kadarıyla teknik olmaktan ziyade yasal nedenlerden dolayı Xen'de sanal Windows çalıştırmak mümkün değil henüz. Ama ekran görüntüleri NetBSD`yi deneyebileceğinizi söylüyor. Bu güzel :-)