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:
- Generujemy macierz losowych wartości
r=np.random.rand(wiersze,kolumny)
, - Porównujemy nasz obraz z losowymi wartościami
img>=r
, - Zamieniamy macierz logiczną na liczbową np.
*1
.