Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: odszumianie zdjęcię
Forum PHP.pl > Forum > PHP
matipl
Witam.

Zaszumiam zdjęcie taką metodą:
  1. <?php
  2.  
  3. function addNoise($pixel, $factor) {
  4. $random = mt_rand(-$factor, $factor);
  5. return new Pixel($pixel->getR() + $random, $pixel->getG() + $random, $pixel->getB() + $random);
  6. }
  7.  
  8. ?>


I teraz potrzebuję metody do odszumienia (może być niecałkowite). Wiem, że istnieją różne algorytmy, ale nie mogę znaleźć jakiejś zjadliwej implementacji, może ktoś z Was taką znalazł/napisał?
LBO
moze po prostu zachowaj oryginalny plik graficzny bez "szumienia"
matipl
też o tym myślałem, ale chodzi o zastosowanie jakiegoś numerycznego rozwiązania na zaszumiony obraz
ActivePlayer
szukalem troche w nocy, ciezko cos znalezc. ja pomyslalem o porównaniu 9 sąsiadujących i wyciągnięcia średniej koloru. ?
matipl
Cytat(ActivePlayer @ 2006-01-29 11:43:21)
szukalem troche w nocy, ciezko cos znalezc. ja pomyslalem o porównaniu 9 sąsiadujących i wyciągnięcia średniej koloru. ?

obecnie myślę o wykorzystaniu klasy ConvolveOp z Javy, ale wolałbym jednak żeby był użyty wyłącznie php.
Ale dzięki za myśl porównawczą... Spróbuje

edited 1:
Po głębszym zastanowieniu nie można zbytnio wyciągnąć średniej z przyległych pikseli, bo za wiele informacji się straci...
edited 2:
A jednak coś z tego wyszło... Wziąłem średnią z przyległych pikseli (czyli z innych 8 pikseli + 1 poczatkowy), obraz jest jakby wygładzony...Dość znacząco widać szumy.
Pozatym obecnie wykonanie skryptu na obrazku 300x300px trwa ok. 1 i 1/2 minuty
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.