|
|
|
| Здравствуйте. Как при помощи GDLib убрать с изображения шум? Различные точки на картинке лишние.
Заранее спасибо. | |
|
|
|
|
|
|
|
для: pavluxa09
(08.05.2012 в 21:12)
| | Применить медианный фильтр. | |
|
|
|
|
|
|
|
для: confirm
(08.05.2012 в 21:15)
| | Точнее | |
|
|
|
|
|
|
|
для: pavluxa09
(09.05.2012 в 00:56)
| | А точнее некуда, так как именно этот фильтр применяется для борьбы с цифровым шумом. Но учтите, именно шумом, как результат шума самой матрицы фотоаппарата, слабой освещенности. Если же вы под шумом подразумеваете одиночные точки на фото, которые вам мешают, то данный фильтр тут не помощник, а наоборот вредитель.
В GD есть только одна возможность применения фильтра не входящего в его набор, это использование функции imageconvolution(), принимающей в качестве аргументов описание матрицы фильтра размером 3х3. Ищите в сети матрицу медиана, подставляйте, используйте. | |
|
|
|
|
|
|
|
для: confirm
(09.05.2012 в 06:30)
| | Человеку который первый раз за 8 лет работает с этим классом понять что такое медиана даже очень тяжело | |
|
|
|
|
|
|
|
для: pavluxa09
(09.05.2012 в 08:34)
| | Медиана, собственно говоря, никакого прямого отношения именно к GD не имеет, тем более, что и GD, это не класс, а расширение РНР, библиотека. Так что не важно, работали вы с ней или нет. В сети достаточно информации, что это такое, что за фильтр и где применяется. Это различные графические фильтры "пришли" в GD, а не GD их породило.
Я вам сказал какой функцией нужно пользоваться, а подробности о ней читайте в руководстве, ну не выкладывать же мне описания функций сюда, это уже ваша обязанность читать о них и изучать.
Вот к примеру, как выглядит применение к изображению фильтра Gaussian Blur с применением этой функции:
<?
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($im, $gaussian, 16, 0);
|
Здесь $gaussan это массив описывающий матрицу данного фильтра. Третий и четвертый аргументы функции, это тоже параметры фильтра.
Какая матрица фильтра медиан я не знаю, лично у меня ее нет, да и вряд ли бы я ею стал пользоваться, так как я вам уже говорил выше, что без причины использование данного фильтра только во вред. А узнать программно есть ли у изображения шумы или нет, это задача посложнее, чем применение фильтра. Кроме этого, функция imageconvolution() прожорливая в плане расходования памяти. | |
|
|
|