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

Genç Yazılımcılara Abilik Yapacak

anonim

Hamdi Koçoğlu'nun, 1999 yılında kurduğu 'İzinternet' adlı firma, Anadolu'da internet üzerinden iş yapmak isteyen ve İngilizce içerik karşısında zorlanan firmalara hizmet veriyor. Şirket, Türkçe olarak geliştirip sattığı yazılımlarla Anadolu'da önemli bir pazar yakalamış durumda. 2004 yılında 2 milyon doları muhasebe yazılımından olmak üzere 5 milyon dolarlık satışa ulaşan İzinternet, şimdi de yazılım konusunda yeni bir yapılanmaya gidiyor.

YazBoz API'nin İlk Sürümü Çıktı

FZ

Daha önce bahsettiğimiz yazboz.com ile ilgili yeni bir gelişmeyi paylaşmak istiyoruz: sistemi kendi uygulamalarında kullanmak isteyen araştırmacılar için bir API hazırlandı.

yazboz.com geliştiricileri Can Altıneller ve Özgür Oktay'ın hazırladığı API belgesinin ilk sürümünü FM takipçisi bilgisayarcılarla paylaşmak istiyoruz:

YazBoz.com'da biriktirdiğiz verileri bilim insanları ve uygulama geliştirmek isteyen herkesle paylaşabilmek için bir API geliştirdik. Bugüne kadar Yazboz'u inceleyen yapay zekâ araştırmacıları, dilbilimciler ve bilişsel bilimciler yazboz verilerinin kendi çalışmalarına önemli katkılarda bulunabileceğini düşündüler. YAZBOZ API’nin bu ilk sürümü ile bilim insanları ve geliştiriciler yeni uygulamalar yapabilecekler. Uygulamalar çoğaldıkça ve geliştikçe biz de YAZBOZ API yi geliştireceğiz.

Browser hafıza kullanımı karşılaştırması

conan

Bu sabah surf halindeyken phoenix'imin kaç tane tab açabileceğini denemek istedikten sonra aklıma browserların hafıza kullanım karşılaştırmasını yapmak geldi. Elimde olan iki browserda genelde gezindiğim 17 sayfayı aynı anda açarak Task manager vasıtasıyla hafıza kullanım oranlarını karşılaştırmaya çalıştım. İşte sonuçlar.

Genişletilebilir Programlama Dilleri: 21. yy. İçin Tahminler

FZ

ACM tarafından yayınlanan QUEUE dergisinin son sayısının konusu programlama dilleri. Toronto Üniversitesi'nden Dr. Gregory V. Wilson'ın dergiye gönderdiği Extensible Programming for the 21st Century (21. yüzyıl için genişletilebilir programlama) yazısı Internet'teki değişik platformlarda ışık hızı ile yayıldı ve bitmek bilmez tartışmalara bir yenisi eklendi. FM olarak sonsuz+1 mantalitesine uyup sevgili okurlarımızı bundan haberdar etmemek ve bir başka teknik (sosyolojik, psikolojik, politik, kısaca bilgisayar dünyası ile ilgili) tartışmaya yol açmamak düşünülemezdi!

.NET ortamında P2P Oyun Programlama Yarışması

FZ

Microsoft, geliştiricilerin .NET programlama platformunu daha iyi tanımaları için P2P (peer-to-peer) bir bilgisayar ağı üzerinde çalışacak bir oyun programlama yarışması açtı.

Terrarium adlı bu çok oyunculu ekosistemde, programcılar kendi makinalarında VB.NET ya da C# ile bir etobur ya da otobur programlıyorlar. Teleporter sistemi bunlar ekosisteme ve diğer makinalara taşıyor.