Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: dias   (05.03.2016 в 19:21)
все элементы матрицы, где встречается 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);
}
}
}
дело в том, что фильтр лишь добавляет больше шума в зашумленном изображении


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: