powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Kак узнать, что на фото есть шум.
10 сообщений из 60, страница 3 из 3
Kак узнать, что на фото есть шум.
    #38431734
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что будет, если на фото без шума запечатлено фото с шумом?
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38431738
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яж говорю. Это всё вопрос метрики. Мы зададим некий порог и будем решать. Кто шумный и кто нешумный
на основании 1-й цифры. Ну... мне-бы так хотелось в идеале.
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38431764
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДля всех I входящих в множество пикселов где i,j пробегает в диапазоне от 0 до 512
выполнять формулу e.t.c. Как-то так.?
А как в формуле обозначить что это надо сделать два раза?

maytonА зачем тебе формула? Хочешь умно выглядеть? Как Базист ?
Надо powerpoint делать для лекции :) на худой конец красивый псевдокод.

Лагмана что будет, если на фото без шума запечатлено фото с шумом?Ну тут только квантованием на секторы... я всё-таки предполагаю некоторую гомогенность, позволяющую анализировать фото целиком.
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38431781
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Надо powerpoint делать для лекции :) на худой конец красивый псевдокод.

Смеешся. На power point делают всё либо текстом либо иллюстрациями.
С мат-формулами слушатели твоего семинара впадут в тоску и отчаяние
и будут смотреть в окно.
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38431844
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

не впадут за один слайд. зато если какой ирод опять спросит а как это выглядит математически, я ему сразу - а на, выкуси :)
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38431863
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если я вот этот код

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
int[] I = image;
	for (int i = 0; i < 511; i++)
	{
		for (int j = 0; j < 512; j++)
		{
			// Разница соседних пикселей, делённая на иррациональное число
			// matrica транспонируется
			I[j,i] = (I[i,j]-I[i,j+1])/sqrt(2);
		}
	}
	// то же самое, чтобы получить разницу с нижними соседями
	int sum = 0;
	for (int i = 0; i < 511; i++)
	{
		for (int j = 0; j < 512; j++)
		{
			// Разница соседних пикселей, делённая на иррациональное число
			// matrica транспонируется
			I[j,i] = (I[i,j]-I[i,j+1])/sqrt(2);
			sum += I[j,i]
		}
	}



Заменю на такой.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
....
	for (int i = 0; i < 511; i++)
	{
		for (int j = 0; j < 511; j++)
		{
			sum += ((I[i,j]-I[i,j+1]) + (I[i,j]-I[i,j+1]))/sqrt(2);
		}
	}
...


Дельты в правом нижнем углу посчитать отдельно. Вне цикла. И я-бы брал ВСЕ дельты
по модулю т.к. твой код при некотором стечении обстоятельтв даст 0 на очень
шумной но симметичной картинке за счёт взаимной компенсации плюсов и минусов.

Еще несколько оптимизаций. Убрать деление на константу. Это тоже можно сделать
в конце поделив на 512*512/sqrt(2). И отказаться от вложенных массивов в пользу
обычного одномерного. Не знаю как в этих ваших шарпах но в Java он работает быстрее.

Ну и параметризировать размеры картинки.

Проверяй.
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38431899
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonотказаться от вложенных массивов в пользу
обычного одномерногоэто в каком месте и как?
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38431901
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну есть такая тема что bool HasNoise(int[512,512] image) это как-бе не круто и для лохов.
А bool HasNoise(int[] image) это очень даже кошерно и православно. По перформансу. Просто матрицу
ты вытягиваешь с 1 массив. В Сях это вообще нативная вещь и юзабельная. В Java
отказ от вложенных массивов даёт прирост к скорости. Это я лично проверил.
Как в Шарпах - не знаю. Но думаю также.
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38431913
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во блин, а посоны не предупредили....
Я обычно CvMat для этого использую, например как тут
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
private: Mat IWSP(Mat inputImg){
	bool needFilter = false;
	int g = 0, N = 0;
	for(int r = 0; r < inputImg.cols; r++){
		for(int c = 0; c < inputImg.rows; c++){
			if((inputImg.at<uchar>(cv::Point(r, c)) == 255) || (inputImg.at<uchar>(cv::Point(r, c)) == 0))
			{
				needFilter = true;
			}
			else
			{
				// For Computation of Trimmed Global Mean in case we will need to filter image
				g = g + inputImg.at<uchar>(cv::Point(r, c));
				N++;
			}
		}
	}



А вытянуть его - это как? Буквально взять и вытянуть и обращаться как к i[j*512+i] ?
...
Рейтинг: 0 / 0
Kак узнать, что на фото есть шум.
    #38432056
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагмана что будет, если на фото без шума запечатлено фото с шумом?
будет детектирован шум
...
Рейтинг: 0 / 0
10 сообщений из 60, страница 3 из 3
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Kак узнать, что на фото есть шум.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]