• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python. Zwracanie pikseli o określonym kolorze.

+1 głos
294 wizyt
pytanie zadane 3 września 2019 w Python przez mroczny123 Początkujący (290 p.)
Witam. Ma ktoś pomysł jak napisać w pythonie program który zwróci pozycję wszystkich pikseli na ekranie o określonym kolorze?

1 odpowiedź

+4 głosów
odpowiedź 3 września 2019 przez adrian17 Mentor (354,880 p.)
wybrane 4 września 2019 przez mroczny123
 
Najlepsza

PIL ma funkcję ImageGrab do wyciągania screenshota ekranu. Są też alternatywy: https://stackoverflow.com/questions/2846947/get-screenshot-on-windows-with-python

Potem wystarczy, zazwyczaj z użyciem PIL, przeiterować się po pikselach i porównać kolor.

komentarz 3 września 2019 przez mroczny123 Początkujący (290 p.)
Udało mi się napisać już program program który iteruje po wszystkich pikselach i zwraca pozycję wszystkich czarnych pikseli.  Tylko że pętla która iteruje po wszystkich pikselach ekranu trwa bardzo długo.  Ja chciałbym mieć zwrócone wszystkie czarne pikele w max sekundę. Ma ktoś pomysł jak można to zrobić?
komentarz 5 września 2019 przez zort Bywalec (2,080 p.)
Multithreading?
komentarz 5 września 2019 przez mroczny123 Początkujący (290 p.)
Co to Multithreading?
komentarz 5 września 2019 przez zort Bywalec (2,080 p.)
Python interpretuje program po kolei i używa jednego wątku procesora. Możesz zmusić go, by użył wszystkich.

Np. masz 2 funkcje, obie może wykonać jednocześnie.

ALE

Skoro dajesz takie pytanie to znaczy, że czekasz na kompletne rozwiązanie?
komentarz 5 września 2019 przez adrian17 Mentor (354,880 p.)

Skoro dajesz takie pytanie to znaczy, że czekasz na kompletne rozwiązanie?

(Zwróć uwagę, że autor pytania zadał nowsze pytanie po tym; w zasadzie trochę niepotrzebnie tu odpisujesz.)

(również trochę słaba ta odpowiedź, bo przed kombinowaniem z wielowątkowością (w Pythonie???) lepiej się zastanowić czy po prostu nie ma wydajniejszego wbudowanego API do zrobienia tego - patrz moja odpowiedź w nowszym pytaniu.)

komentarz 5 września 2019 przez zort Bywalec (2,080 p.)
Moja podpowiedź to alternatywa do szukania innych bibliotek. Po prostu.
komentarz 5 września 2019 przez adrian17 Mentor (354,880 p.)

OK, ale to słaba alternatywa.

Python interpretuje program po kolei i używa jednego wątku procesora. Możesz zmusić go, by użył wszystkich.

Używając multithreading, Python też zawsze i tak używa jednego wątku na raz (patrz GIL).

A nawet gdyby, to teraz robiłbyś 1920*1080==2073600 screenshotów po kolei na powiedzmy 8 rdzeniach zamiast na jednym - niewielka poprawa.

Nie sugerowałem też "szukania innych bibliotek" - ponownie, patrz moja odpowiedź w nowszym pytaniu - proponowałem tylko użycie innej funkcji na tym samym obiekcie.

Podobne pytania

0 głosów
1 odpowiedź 1,005 wizyt
+1 głos
1 odpowiedź 404 wizyt
pytanie zadane 13 października 2021 w Python przez NaKileP Nowicjusz (130 p.)
0 głosów
0 odpowiedzi 810 wizyt

93,632 zapytań

142,556 odpowiedzi

323,056 komentarzy

63,139 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2900p. - dia-Chann
  2. 2870p. - DziarnowskiJ
  3. 2827p. - Łukasz Piwowar
  4. 2783p. - raydeal
  5. 2758p. - Adrian Wieprzkowicz
  6. 2713p. - rucin93
  7. 2579p. - Łukasz Eckert
  8. 2523p. - Maurycy W
  9. 2459p. - CC PL
  10. 2082p. - Michal Drewniak
  11. 1885p. - robwarsz
  12. 1851p. - Mariusz Fornal
  13. 1811p. - rafalszastok
  14. 1600p. - Rafał Trójniak
  15. 1588p. - Tomasz Bielak
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...