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

MonoDevelop 1.0 yayınlandı

anonim

Uzun bir beklemeden sonra nihayet MonoDevelop 1.0 yayınlandı. MS Windows ortamında .NET ile uygulama yazanlar artık çok az çaba harcayarak ya da belki kodlarını olduğu gibi alıp derleyerek uygulamalarını GNU/Linux ve Mac OS X üzerine taşıyabilecekler.

ht://Dig ile kendi arama motorunuzu oluşturun

Soulblighter

Bir çok Linux kullanıcısı, kendi sistemi üzerinde kolaylıkla bir web sunucusu çalıştırabilir. Sayfaları sunucuda barındırmak işin yarısıdır, onları bulmak ise diğer yarısı. İşin diğer yarısı ise ht://Dig yazılımının işi.

Açık Kodlu Özgür Bir Yazılım Projesi: FlightGear Uçuş Simülatörü

FZ

1995 yılında havacılık simülasyonları konusunda uzmanlaşmış Curtis Olson isimli bir mühedis Microsoft Flight Simulator´a bir eklenti (add-on) yapmaya çalışırken vaktinin büyük bir kısmını asıl iş yerine bu yazılımın dosya formatlarını, iç yapısını, işleyişini, vs. anlamak için enerji harcayarak geçirdiğini fark etti. Ve kendine şöyle dedi: Oturup kendi uçuş simülatörümü yazmaya başlasam, bunu açık kodlu ve GPL lisanslı olarak kamuoyuna sunsam ve sonra...

Olson´un bu çabası ABD´de çılgın bir mühendisin delidolu idealizmi olarak algılanmadı tahmin edebileceğiniz gibi. Proje başladıktan kısa bir süre NASA´daki uzay mekiği programının önemli mühendislerinden biri olan Jon Berndt de projeye destek vermeye başladı. Bu katılımı takiben, bir başka mühendis Tony Peden de projeye katılmakta tereddüt etmedi. Ve gerisi büyük hızla geldi.

FlightGear isimli bu özgür yazılım projesine destek veren deneyimli programcı ve mühendislerin yaş ortalaması 35´in üstünde. Hepsi de kendi alanlarındaki mühendislik ve fizik konularında usta isimler. Geliştirdikleri sistem uç noktadaki havacılık mühendisliği modellerini, grafik (OpenGL) ve ağ programlama tekniklerini kullanıyor. Herkesi sistemlerini incelemeye ve katkıda bulunmaya davet ediyorlar.

Sistem yöneticileri için Açık Kodlu Hesap Yöneticisi

hakankucuk

Sistem yöneticilerinin çoğunun problemidir; yüzlerce kullanıcıya ait kullanıcı adlarını yada şifrelerini bir yerlerde depolamak. Ve bu depodan istenildiği anda istenilen hesaba ait kaydı bulmak. Hatta tüm şirketin (şubeler dahil) kullandığı server, router, switch, network yazıcı vb. cihazların şifrelerini kayıt altına almak. Bu program tüm bu problemlere çözüm olabiliyor.

fazlamesai.net'e soralım: Proje Yönetim ve Hata Takip Yazılımları

anonim

Eğer grup halinde projeye başlanacaksa o projede proje yönetim yazılımının (project management software, XP software) ve bir hata takip programının (bug tracking) kullanılması tavsiye ediliyor.

Proje yöneticilerine ve bu işe ilgi duyan arkadaşlara soralım: Kullandığınız, incelediğiniz yazılımların avantajları ve dezavantajları nelerdir?

Bizim kriterimiz kolay uyarlanabilirlik ve kullanılabilirlik olduğundan, dotproject ve mantis oldu.