Resmi piksellerine ayırma?

Başlatan Yasin, 08 Ağustos 2014, 22:59:04

Yasin

Tv tüpünü haricen çalıştırmak için bir devre tasarlayacağım. Resim gönderme hariç hepsini kafamda kurdum. Tek sorunum şu. Biliyorsunuz ki bir piksel 3 ana renkten oluşuyor. (Kırmızı - Mavi - Yeşil) Benim yapmak istediğim şu. Üç tane çıkışım olacak. Bu çıkışların her biri bir ana renge ait olacak. Yani bu üç uçtan piksel bilgisi alacağım. Asıl sorun resmi piksellerine ayırıp, işlemcinin girişine her puls geldiğinde bu üç çıkıştan sıradaki pikselin bilgisini almak. Yani mesela 640x480 boyuntunda bir resmimiz var. Bu resmi piksellerine ayırdığımız zaman 640*480 = 307200 piksel yapıyor. İşlemciye ilk puls geldiğinde üç çıkıştan 1. piksel bilgisini, 2. puls geldiğinde 2. piksel bilgisini, .........., 307200. puls geldiğinde 307200. pikselin bilgisini almak istiyorum. Bunu nasıl yapabilirim?

Mucit23

Sen ilk önce tv ekranının istediğin kordinatina pixel gondermeyi düzgün bir şekilde yapabilmen lazım.  Yani ekranın istediğin noktasına  herhangi bir renkte pixel gonderebilmen gerekir.

bunu yap senin dediğin basit zaten
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Yasin

Alıntı yapılan: Mucit23 - 09 Ağustos 2014, 11:19:00
Sen ilk önce tv ekranının istediğin kordinatina pixel gondermeyi düzgün bir şekilde yapabilmen lazım.  Yani ekranın istediğin noktasına  herhangi bir renkte pixel gonderebilmen gerekir.

bunu yap senin dediğin basit zaten

Bunu zaten yapabiliyorum.

Mucit23

Peki renk çözünürlüğün nedir? RGB888 yani 24 bitmi?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Yasin

Alıntı yapılan: Mucit23 - 09 Ağustos 2014, 11:49:40
Peki renk çözünürlüğün nedir? RGB888 yani 24 bitmi?

Renk çözünürlüğünden kastın nedir?

Mucit23

Senin her pixelin RGB yani 3 adet rengin karışımından oluşmuyormu? işte bir pixelde Her renk için ayrı ayrı data göndermen gerekir. RGB888 dediğim şey RGB datalarının çözünülüğüdür.

8 Bit R yani kırmız
8 Bit G yani yeşil
8 Bit ise B yani Mavi

Bunları yan yana koyarsak her pixel için 24bit renk çözünürlüğü yapar. Hex olarak düşünürsek her bir pixele 0xFFFFFF şeklinde data yollamak gerekir. Bu datayı gönderirsen Gönderdiğin pixel beyaz olur.

Kırmızı yanmasını istersen  0xFF0000
Yeşil yanmasını istersen 0x00FF00
Mavi yanmasını istersen 0x0000FF datasını gönderirsin. Bu dataların karışımından milyonlarca renk oluşuyor işte

RGB888 in yanında RGB565, RGB666 gibi formatlarda var. Tabi en yüksek çözünürlüklü olan RGB888 dir.
Çözünürlük dediğim şey budur.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Yasin

Alıntı yapılan: Mucit23 - 09 Ağustos 2014, 12:03:32
Senin her pixelin RGB yani 3 adet rengin karışımından oluşmuyormu? işte bir pixelde Her renk için ayrı ayrı data göndermen gerekir. RGB888 dediğim şey RGB datalarının çözünülüğüdür.

8 Bit R yani kırmız
8 Bit G yani yeşil
8 Bit ise B yani Mavi

Bunları yan yana koyarsak her pixel için 24bit renk çözünürlüğü yapar. Hex olarak düşünürsek her bir pixele 0xFFFFFF şeklinde data yollamak gerekir. Bu datayı gönderirsen Gönderdiğin pixel beyaz olur.

Kırmızı yanmasını istersen  0xFF0000
Yeşil yanmasını istersen 0x00FF00
Mavi yanmasını istersen 0x0000FF datasını gönderirsin. Bu dataların karışımından milyonlarca renk oluşuyor işte

RGB888 in yanında RGB565, RGB666 gibi formatlarda var. Tabi en yüksek çözünürlüklü olan RGB888 dir.
Çözünürlük dediğim şey budur.

Doğrudur o zaman. 24 bit olacak.

Mucit23

O halde senin hiçbir problemin yok.  :D

Ekranın istediğin noktasına 24 bit renk çözünürlüğünde data gönderebiliyorsun anladığım kadarıyla. Bu arada sormayı unuttum hangi dilde yazılımını yazacaksın buda önemli.

Şimdi senin yapman gereken şey donanımını kurmak. Anladığım kadarıyla her renk için 1 adet toplamda 3 adet 8 bit çözünürlüğünde analog çıkışa ihtiyacın olacak. Bu iş için DAC enteğreleri kullansan güzel olur. Veya 877 gibi bir pic'in PortB, PortC ve PortD gibi 8 bitlik 3 adet portunun herbirini analog'a çevirmek olacaktır. Bunun içinde R2R DAC yöntemini kullanman gerekiyor.

Sen ilk önce donanımını kur bu çok daha önemli. Ekranın istedğin noktasına istediğin renkte pixel yollayacak kadar programını yaz.(Anladığım kadarıyla bunların hiçbirini yapmamışsın.) Sonra Resim basma çok basit.

Ha şunuda söyleyeyim.

sadece resim basacaksan eğer 640x480 24 bitlik resmin ham boyutu 640x480x3 den 921600byte eder. Nerden baksan 1Mbyte. Bu boyutta bir diziyi hiçbir pic'in içerisine gömemezsin. Bunuda düşünmen gerekir. 
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Yasin

Alıntı yapılan: Mucit23 - 09 Ağustos 2014, 12:20:15
O halde senin hiçbir problemin yok.  :D

Ekranın istediğin noktasına 24 bit renk çözünürlüğünde data gönderebiliyorsun anladığım kadarıyla. Bu arada sormayı unuttum hangi dilde yazılımını yazacaksın buda önemli.

Şimdi senin yapman gereken şey donanımını kurmak. Anladığım kadarıyla her renk için 1 adet toplamda 3 adet 8 bit çözünürlüğünde analog çıkışa ihtiyacın olacak. Bu iş için DAC enteğreleri kullansan güzel olur. Veya 877 gibi bir pic'in PortB, PortC ve PortD gibi 8 bitlik 3 adet portunun herbirini analog'a çevirmek olacaktır. Bunun içinde R2R DAC yöntemini kullanman gerekiyor.

Sen ilk önce donanımını kur bu çok daha önemli. Ekranın istedğin noktasına istediğin renkte pixel yollayacak kadar programını yaz.(Anladığım kadarıyla bunların hiçbirini yapmamışsın.) Sonra Resim basma çok basit.

Ha şunuda söyleyeyim.

sadece resim basacaksan eğer 640x480 24 bitlik resmin ham boyutu 640x480x3 den 921600byte eder. Nerden baksan 1Mbyte. Bu boyutta bir diziyi hiçbir pic'in içerisine gömemezsin. Bunuda düşünmen gerekir.

Yok yanlış anladın. :D Ben data gönderiyorum ama 24 bit değil. Renkleri analog olarak değil, 0-1 şeklinde gönderiyorum. Resmi gönderirken elbette 24 bit olarak göndereceğim. Benim takıldığım tek nokta SD karttan resmi okuyup piksellerine bölmek. İstediğim noktaya istediğim pikseli göndermek için bir program yazayım o zaman.

Mucit23

3 adet analog girişte sadece 0-1 göndererekte 7 farklı renk oluşturabilirsin. :)
Ama 24 bit için 24 biti 8 bitlik 3 ayrı analog sinyale çevirip renk girişlerine vermen gerekir.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Powered by EzPortal