2016-03-22 16 views
0

Bir video okudum, ancak kareyi tek tek göstermek istiyorum, ancak çerçeveyi gösterdiğimde bellek sızıntısını buldum ve programım yavaşladı, bu imshow() belleğin boş bırakılmayacağını gösterir. görüntüyü gösterdikten sonra belleği boşaltabilirim, ancak görüntü hiçbir zaman dışarı çıkmaz, görüntü çerçevesini de kare olarak gösterebilir miyim?MATLAB imshow? Belleği boşaltmak ancak resmi nasıl gösterirsiniz?

+0

Bize kodu gösterebilir misiniz? –

+0

[Bu Soru-Cevap] 'ı okumak isteyebilirsiniz (http://stackoverflow.com/questions/13102654/how-should-i-update-the-data-of-a-plot-in-matlab). –

cevap

3

Ben en çok bellek sorunları bu yapı nedeniyle gibi

hold on 
for ii=1:frames 
    imshow(frame) 
    drawnow 
end 

gibi bir şey yapıyoruz bahis. Eğer hold on ve rakamı asla temizlemezseniz, oradaki her şeyin üstüne çizin, ama asla silinmeyecektir. Ben sadece döngü içinde bir tek şey çiziyorsunuz eğer hold on kaldırmak önermek ve birden fazla şey içeride çiziyorsanız ve ihtiyaçhold on ardından drawnow sonra clfcla (net eksenleri) eklemek veya veya Döngünün dilenmesinde.

+0

Teşekkürler! Bir sonraki imshow işlevinden önce sadece clf ve sorun giderildi! –

+0

@JinghengLuo, size yardımcı olursa asnwer'ı geçerli kabul etmeyi düşünün! (upp/aşağı oklarına küçük kene yuvası) –