|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.12.2015, 14:22 | #1 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 225
|
Фильтры "Среднее на пересечении" и "Среднее по квадрату"
Возможно будет проходить знаток и подскажет формулу, а пока я сам пытаюсь вычислять.
А для остальных задачка + штурм мозга. Для матрицы 3х3 //среднее на пересечении 010 010 001 =111 010 010 //Среднее по кведрату 110 010 001 =011 110 110 Как это выглядит на картинке: В побитовой обработке мне куда проще первое что пришло в голову это: (pRow1[i-1]+pRow1[i+1]+pRow15[i]+pRow25[i]) shr 2 Но поигравшись с результатами и калькулятором, понял что не то, пробовал комбинации битовых опираций, тоже не то, есть идеи? Я потом понял что там берется большее (или доминирующее) из 4х цветов, но как это выразить уже вторые сутки голову ломаю. Сейчас на более свежую голову расписав все на бумаге понимаю что: нужно решить просто следующую систему уравнений х - это какая-то операция 1х1х1х0=1 0х0х0х1=0 проблема в случае что 0х0х1х1=результат не меняется т.е. это может быть частный случай. П.С. Фильтры из XnView Последний раз редактировалось IvaniuS; 19.12.2015 в 15:01. |
19.12.2015, 16:33 | #2 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 225
|
Для черно белого изображения, получилось что-то вроде этого (Если сумма меньше 3 значит черный, иначе белый)):
Код:
|
19.12.2015, 17:38 | #3 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Честно говоря, не понял вашего описания.
1) Что значит "среднее по пересечению", "среднее по квадрату"? 2) Что означает, что левая матрица равна правой? (Из левой получается правая или что?) 3) Не понял, что именно изображено на картинке. Из левого столбца получается правый столбец картинок? 4) Вам нужно среднее или доминирующий цвет из определенных позиций вокруг рассматриваемой точки?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
19.12.2015, 18:14 | #4 | |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 225
|
Цитата:
1)После долгих мучений это получается в 3х3 квадрате пикселей, если по квадрату то 9 пикселей сортируется по возрастанию\убыванию и берется 5е значение, а среднее по пересечению - 5 пикселей сортируются и берется "среднее" 3е значение уже. 2,3)Да из левого получается правый. 4)Мне нужно быстро, не знаю как оперировать чтобы было быстро это получается массив RGB из 5 или 9 значений окружающих и берется среднее значение после сортировки, пример для пересечения: R G B 83 84 248 83 84 248 248 0 0 255 255 255 255 255 255 Сортируем каждую компонентку в отедльности и получаем R G B 83 0 0 83 84 0 248 84 248 255 255 255 255 255 255 т.е. цвет будет 248 84 248 |
|
19.12.2015, 20:04 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Наверное сохранить нужные значения в массив, затем произвести сортировку вставками (погуглил, вроде оптимальная для малых размеров массива).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
19.12.2015, 20:41 | #6 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 225
|
будет очень долго , нужно за 1-2 прохода максиумм определить середину, думаю есть какой-то метод не сортировки, а определения середины, сейчас еще подумаю что-то можно для этого использовать.
Слава богу хоть понял что и как нужно и на битовом изображении уже работает, очень полезная вещь в обработке текста, для распознавания тессерактом, что я и делаю. Но довести до ума эти все фильтры хотелось бы. |
19.12.2015, 21:14 | #7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Да, и правда есть за O(n) - алгоритм выбора.
UPD Почитал - он основывается на сортировке, так что никакой выгоды на размере 5/9 элементов не даст.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 19.12.2015 в 21:17. |
19.12.2015, 23:15 | #8 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Не пишите как сделать. Вы всё равно не знаете.
Когда задаёте вопрос пишите условие ограничивающие вашу задачу. Описывайте что дано и что надо сделать. Во-вторых следите за речью. Вас понять невозможно. "Среднее на пересечении" Пересечение чего? Двух линий? Пересечение двух линий это точка. Точка это сколько элементов? Это один элемент. Среднее одного элемента есть этот самый
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
20.12.2015, 00:48 | #9 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 225
|
Не знаю, но стараюсь разобраться в вопросе самостоятельно, потому озвучиваю свои варианты. Спасибо за совет, постараюсь в будущем так и делать.
По поводу понять невозможно, оперирую тем что знаю (на изображении название фильтров): Но проблемы с изложением все-таки есть, теряю ход мысли достаточно часто. |
20.12.2015, 16:22 | #10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Pavia, в оригинале (в XnView) фильтры называются Median Cross, Median Box, что тоже не очень помогает понять точный способ их действия.
IvaniuS, почему все-таки долго? Большие картинки нужно фильтровать или много?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" | Alexsandrr | Microsoft Office Excel | 4 | 19.10.2013 14:22 |
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") | funnyy | Помощь студентам | 3 | 17.10.2012 17:40 |
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. | воваава | Помощь студентам | 3 | 01.12.2011 12:50 |
дополнить программу условием:"Определить среднее арифметическое значений функций, меньших 1" | wowan | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 22.06.2011 16:25 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |