PDA

Tam Sürümünü Görmek İçin : Borland C++ Builder'da Windows AVI okumak


xlegend
23/04/2007, 12:10
merhaba arkadaşlar.
görüntülerle alakalı bir proje ile ilgileniyorum. Elimde daha önceden çekilmiş ve Windows avi formatına(ham veri=herhangi bir sıkıştırma yapılmadan) çevrilmiş bir video dosyası var. Builder'da mediaplayer bileşeni kullanarak bu dosyayı oynatabiliyorum. ileri geri sarabiliyorum. bu özellikler zaten bileşenin bir özelliği. ancak bu videodan her bir frame i (saniyede 15 frame ya da 20 frame) teker teker alıp bmp ya da jpeg olarak ayrı ayrı dosyara kaydetmem gerekli.

bunu nasıl yapabilirim.
ilginiz için şimdiden teşekkürler


bluekid
23/04/2007, 14:48
http://www.mitov.com/ burdaki bileşenleri kullan

Revlis
23/04/2007, 17:46
sıkıştırılmamış ise tüm resimler arka arka ya eklenmiştir. Öncelikle internette avi file diye bir araştırma yap, ilk avi dosyasının header ında dosya ile ilgili bilgiler olacak işte sn de kaç kare , kare boyutları kaça kaç, renk derinliği ne gibi, sen bu bilgilerden faydalanarak , toplamkare sayısı , yükseklik , genişlik , renk şeklinde bir matris oluşturacaksın. mesala 1,1,1,0 şeklinde ki ifadede 1. kare için 1 e 1 pikseli 0 (siyah) şeklinde oluşturduğun picturebox da 1.1 e 0 renk değerini verceksin.
Misal böyle değil ama avi dosyasını okuyunca:

[microsoft avi file 20 , 250 , 600 , 122 ] [0] [154] [111]
şeklinde bytelar ile karşılacaksın.
mesela burada 250 ye 600 bir video olduğunu düşünürsen [0] değeri bir resim karesindeki (1,1) in rengini vercektir [154] ise (2,1) [111] ise (3,1) .. 250 tane geçince gelecek renk (1,2) şeklinde , 250 * 600 tane den sonra gelecekte bir sonraki kare nin (1,1) nin rengini vercektir.