Ynt: fpga de 64*64 lük bir görüntü matrisi nasıl saklanır,işlenir

Başlatan sakinimmm, 02 Kasım 2012, 01:46:41

sakinimmm

Arkadaşlar merhaba,
ben görüntü işlemede çok yeniyim ve bunu fpga ile yapmaya çalışıyorum. İlk olarak sormam gereken Matlab kullanmadan bir görüntüyü pcden nasıl alırım ve bunu fpga'de nasıl işlerim.Yapmam gereken işlemse herhangi bir filtreleme işlemi.Acil yardıma ihtiyacım var.


mesaj birleştirme:: 02 Kasım 2012, 10:09:41

arkadaşlar??

camby

Görüntüyü PC'den mi alacaksın yoksa bir kameradan mı ?

FPGA ile daha önce çalışman oldu mu ?

Görüntüyü bir şekilde aldın ve işledin diyelim bunu nerde göstereceksin ? PC'ye geri mi yollayacaksın yoksa sistemde çalışan bir TFT yada ekran mı olacak ?

Eğer görüntüyü matlab'dan alıp dışarıya gönderip işleyip yine PC'ye geri yollayıp ekrana göstermek istersen , MATLAB komutlarının yapabileceği süreden çok daha uzun sürer bu.

Öncelikle tasarlamak istediğin sistemi tarif et biraz.

FPGA üzerine seri iletişim USB yada USART oluşturacaksın , veri alıp gönderip depolayacaksın , ve sonucu bir ekrana göndereceksin bu ekranın driverını FPGA ortamında oluşturacaksın. Tecrübem yok ancak bu aylar sürebilir.


FPGA yerine yeterli özellikleri bulunan bir MCU ile de işini çok rahat görebilirsin.

sakinimmm

Şöyle açıklayayım
Görüntü, bilgisayarda  olan bir fotoğraf. Bu fotoğrafı alıp fpga'ye attıktan sonra bu fotoya ortalama filtresini uygulayacağım.Ve işlenmiş olan bu fotoğrafı ekranda göstericem.Ekrana yansıtma işini FPGA deki VGA portunu kullanarak yapmayı düşünüyorum.Bir monitöre bağlayabilirim.Bu kısma tam karar vermedim.
FPGA ile ilk defa bu projede uğraşıyorum.Çok deneyimli olduğumu söyleyemem bu yüzden ciddi anlamda zorlanıyorum ama yapmam gerekiyor.
Ayrıca FPGA kullanmam gerekiyor.
Sorunum şu ki fotoğrafı FPGA'ye nasıl alacağımı biliyorum. Matlabda benzer bir şeyler buldum ama  Matlab kullanmak istemiyorum.Ancak başka yol var mı bilmiyorum.

muuzoo

Basit anlamda RS232 ile gönderin derim. Yeni olduğunuzu söylemişsiniz o yüzden USB işi  sizi uğraştırır. Bahsettiğini görüntünün 64*64 ve her beneğin 8 bit olduğunu kabul edersek toplam veri miktarınız 64*64= 4096 * 8 = 4096 Byte = 4KB olduğu manasına gelir. RS232 ile 115200 bit/saniye hızında haberleşebilirsiniz. 115200 / 8 = 14400 Byte / Saniye olur. Yani kabaca saniyede 14KB veri transferi yapılabilir. Kabaca 280 ms de veri aktarılabilir gibi.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

speak48

neden bilmediğin yerde "fpgada" yapman gerekiyor? ???
fpga kullanmamış olabilirsin peki hdl biliyormusun?
amaç sadece 64*64 filitre uygulamaksa seri portla ister registerlara ister iç ram bloklarına  ister dış ram entegresine yükle
vga çıkışının bir köşesinede 64*64 kareyi gösterebilirsin hem orjinal hem filitreli mümkün
ama real-time stream bir görüntüyü 64*64 bloklar halinde filitrelicem dersen işin içinden nasıl çıkarsın bende bilemiyom.

sakinimmm

Arkadaşlar öncelikle ilginiz için çok teşekkür ederim
Bu projede kullanılacakları ben belirlemedim bu yüzden neden fpga sorusuna verebileceğim iyi bir cevabım yok :( yazın biraz vhdl öğrenmeye çalıştım hala da üzerinde çalışıyorum.Zamanımın daralmasına rağmen projemin hızlı ilerlediğini söyleyemem.Önerilerinizi araştıracağım.takıldığım yerde yine sizi rahatsız etme potansiyelim var  :D
Tekrar saolun

speak48

ne projesi bu bitirme fln?
vhdl hiç başlamadıysan verilog öğren derim geç kalmadan

sakinimmm

evet bitirme projem.Bu yüzden sıkıntı.ya bilmediğimden soruyorum saçma olabilir.verilogla fpga tasarlanabilir mi. vhdl ile yazmaya başladım gerçi ama merak ettim.Verilogla ilgili tek bildiğim C ye benziyor biraz tanımlamalar falan

kralsam

Sanırım pek FPGA uygulama bilginiz de yok. Eğer verilog düşünürseniz ben size başlangıç için Çizgi-TAGEM tarafından gerçekleştirilmiş, Bilgisayar Yüksek Mühendisi Selçuk Başak tarafından verilmiş olan bir eğitimin, video derslerini izlemenizi öneririm. VHDL konusunda bildiğim bu tip kaynak yok.
http://www.cizgi-tagem.org/e-kampus/education.aspx?id=39
Daha sonra Seriport ve register işlemleri ile bu işi ilerletirsiniz.

sakinimmm