Python Klasörden Ragele Fotograf Seçmek

Merhaba Arkadaşlar,
Resimlerden video oluşturuyorum ve klasör içerisinde .png fortmatindaki resimlerden oluşturdum video hep .png sırasına göre video oluşturuyor

klasör içerisindeki resimleri rasgele secmesi için aşagıdaki kodu nasıl yapmalıyım ?

image_folder = './imglist'
fps = random.choice(video_time)
image_files = [os.path.join(image_folder, img)
               for img in os.listdir(image_folder)
               if img.endswith(".png")]
clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps=fps)
clip.write_videofile('my_video.mp4')

Oncelikle;

https://docs.python.org/3/library/glob.html

import glob
png_files = glob.glob("*.png")

Bunun size su anda bulundugunuz dizindeki butun png dosyalarinin adlarini bir liste icinde vermesi lazim. Daha sonra random.choice ile png dosyalarindan rastgele bir tane secebilirsiniz.

random_png = random.choice(png_files)
1 Beğeni

merhaba cevabınız için teşekkür ederim resimlerden birini rasgele seçmek istemiyorum yukarıdaki kodda klasördeki resimleri video yaparken aynı sıra ile seçiyor kodda yapılacak değişiklik ile sırası ile video oluşturmak yerine random seçmesini (random sıralamasını) oluşturacagı video için sırayla seçtigi resimleri random seçmesini nasıl yaparım

Senin işini random.shuffle() çözermi acaba. Kendisine verilen listeyi karıştırıyor.

1 Beğeni

evet peki kodda kullanımı nasıl olacak for yada if ekleyemiyorum nerede kullanmalıyım

Neden?

Kodda list comprehension, icinde de hem for hem de if kullanmis biri olarak koda bu kadar basit bir eklentiyi yapamama sebebin nedir? Baska hangi basit seyleri yapamiyorsun?

random seçmesi için bu kodda değişiklik yerine klasör içerisnde resimlerim isimleri değiştiren başka bir kod deneyecegim