Python Base ekran görüntüsü üzerine işlem yapılması nasıl sağlanır?

xesinti

Decapat
Katılım
20 Ekim 2021
Mesajlar
29
Daha fazla  
Cinsiyet
Erkek
Merhaba bir MMORPG oyunu için macro yapıyorum. Macro multithread olarak çalışıyor ve ekranı taraması gereken birçok fonksiyon var. Amacım 1 tane threadın sürekli ekran goruntusu alması ve diger dosyaların da yeni ekran goruntusu alması yerine bu alınan goruntu üzerinde işlem yapabilmesi. Bunu nasıl yapabilirim?
 
Sorun nerede tam olarak? Dosyadan kastın ne tek bir programdan söz etmiyor musun?

Anladığım kadarıyla diğer threadler de bu ekran görüntüsünü kullanacak, bunun icin global bir degisken ve mutex kullanabilirsin. Eğer dosyadan kastın farklı programlar ise win32 için ipc araştır.
 
Sorun nerede tam olarak? Dosyadan kastın ne tek bir programdan söz etmiyor musun?

Anladığım kadarıyla diğer threadler de bu ekran görüntüsünü kullanacak, bunun icin global bir degisken ve mutex kullanabilirsin. Eğer dosyadan kastın farklı programlar ise Win32 için ipc araştır.

5 parçaya böldüm main.py notify.py gibi mainde thread olarak başlatıyorum ama diger dosyalar alınan güncel ekran goruntusunu kullanamıyor. Yeni ekran goruntussu almaya çalısıyorlar.
 
5 parçaya böldüm main.py notify.py gibi mainde thread olarak başlatıyorum ama diger dosyalar alınan güncel ekran goruntusunu kullanamıyor. Yeni ekran goruntussu almaya çalısıyorlar.
Hangi modülü kullanıyorsun, modül fonksiyonlarına baktın mı, temporary image üzerinde işlem yapma imkanı veren bir fonksiyonu var mı?
 
Hangi modülü kullanıyorsun, modül fonksiyonlarına baktın mı, temporary image üzerinde işlem yapma imkanı veren bir fonksiyonu var mı?

# Paylaşımlı bellek alanı oluşturma.
Shared_arr = multiprocessing. Rawarray('b', 1920*1080*3) # ekran boyutuna göre ayarlayın.
# Paylaşımlı belleği numpy dizisine dönüştürme.
İmage_np = np. Frombuffer(shared_arr, dtype = np. Uint8).reshape((1080, 1920, 3))

Def capture_screen():
# Tek satırda ekran görüntüsü alma ve dönüştürme.
Opencv_image = cv2.cvtColor(np.array(pyautogui.screenshot()), cv2.COLOR_RGB2BGR)
# Paylaşımlı numpy dizisine kopyalama.
Np. Copyto(image_np, opencv_image)

Bu şekilde şu an.
 

Geri
Yukarı