Metoda tak naprawdę nadająca się tylko do obrazów binarnych. Metoda jest mało dokładna, ale posiada niską złożoność czasową i obliczeniową. Polega ona na generowaniu losowych wartości dla każdego ze sprawdzanych pikseli (można od razu wygenerować całą ich macierz o rozmiarze naszego obrazu) i sprawdzaniu, czy wartość piksela w skali odcieni szarości jest większa niż naszej losowej wartości i w zależności od wyniku oznaczania naszego nowego piksela jako czarny lub biały.

Całą operację można wykonać bez użycia jakiejkolwiek pętli. Trzeba w tym celu wykorzystać pakiet NumPy. Całą procedurę wykonuje się w krokach:

  1. Generujemy macierz losowych wartości r=np.random.rand(wiersze,kolumny),
  2. Porównujemy nasz obraz z losowymi wartościami img>=r,
  3. Zamieniamy macierz logiczną na liczbową np. *1.