|
|
|
| все элементы матрицы, где встречается 0 заменить на 1, вроде так стоит вопрос
void geometry_filter3x5(unsigned char *out, unsigned char *inp, int cols, int rows)
{
double mn = 3 * 5;
for (int y = 1; y < rows - 1; y++)
{
for (int x = 1; x < cols - 1; x++)
{
int pos = y * cols + x;
double mul = 0;
mul = (double)inp[pos-cols-cols-1] * inp[pos-cols-cols] * inp[pos-cols-cols+1] * inp[pos - cols - 1] *
inp[pos - cols ] * inp[pos - cols + 1] * inp[pos - 1] * inp[pos] * inp[pos + 1] * inp[pos + cols - 1] *
inp[pos + cols ] * inp[pos + cols + 1] * inp[pos+cols+cols-1] * inp[pos+cols+cols] * inp[pos+cols+cols+1];
double p = 1/mn;
out[pos] = (double) pow(mul,p);
}
}
}
дело в том, что фильтр лишь добавляет больше шума в зашумленном изображении | |
|
|
|
|
|
|
|
для: dias
(05.03.2016 в 19:21)
| | В отрывке кода не разобрался, плохо у меня с программированием.
Но понял одно - если все встреченные как вы говорите 0 заменять на 1, то получится белый холст :)
все элементы матрицы, где встречается 0 заменить на 1, вроде так стоит вопрос
Что за алгоритм фильтрации хотите реализовать? | |
|
|
|