Как перевести координаты выделенного квадрата в матрицу и ..
От: Аноним  
Дата: 17.11.02 00:56
Оценка:
Привет, Всем!
Даны два снимка в формате BMP: первый снимок имеет, например, размер 512х1024, а второй — 1200х2048. Каждый из них по содержанию, одинаков, но разница есть, например, первый — снят год назад, а второй — сегодня и ещё, снимок м.б. разного масштаба. На первом снимке мышью выводим квадратик 24х24, а затем во втором — квадратик 96х96. Требуется: во втором снимке, в квадрате 96х96 найти ту область, кот. выбралась в первом снимке. Надо перевести координаты квадрата 24х24, как и квадрат 96х96 в матрицы. А затем, во втором квадрате "по-пиксельно прогнать" первый квадрат. Трабла в том, как перевести координаты квадратика в матрицу и как учесть разницу в масштабах...???? Помогите, пожалуйста. Спасибо.
Re: Как перевести координаты выделенного квадрата в матрицу
От: GarikTot  
Дата: 17.11.02 01:14
Оценка: 3 (1)
Здравствуйте, Аноним, Вы писали:

А> Привет, Всем!

А>Даны два снимка в формате BMP: первый снимок имеет, например, размер 512х1024, а второй — 1200х2048. Каждый из них по содержанию, одинаков, но разница есть, например, первый — снят год назад, а второй — сегодня и ещё, снимок м.б. разного масштаба. На первом снимке мышью выводим квадратик 24х24, а затем во втором — квадратик 96х96. Требуется: во втором снимке, в квадрате 96х96 найти ту область, кот. выбралась в первом снимке. Надо перевести координаты квадрата 24х24, как и квадрат 96х96 в матрицы. А затем, во втором квадрате "по-пиксельно прогнать" первый квадрат. Трабла в том, как перевести координаты квадратика в матрицу и как учесть разницу в масштабах...???? Помогите, пожалуйста. Спасибо.

Масштабирование — это афинное преобразование, любое из ктр. может быть выполнено след. образом:

Строится матрица преобразования и, затем, каждая точка картинки (её координаты) домножается на эту матрицу...
Любое преобразование может быть выполнено с помощью комбинации простейших преобразований: поворота R, сдвига T, васштабирования S и отражения M. Например, нужно повернуть вектор V на 5 градусов вокруг точки (x, y, z): V*(T(-x, -y)*R(5)*T(x, y))
Матрица преобразования — это квадратная матрица размерности на 1 больше размерности пространства. Для 2D преобраззований это матрица 3x3, для 3D 4x4 и т. д.
Вектор координат дополняется 1: (x, y, 1) — 2D, (x, y, z, 1) — 3D ...

Матрицы простейших преобразований (2D):
1) вращение R(fi):
cos(fi) sin(fi) 0
-sin(fi) cos(fi) 0 fi — угол поворота
0 0 1
2
) масштабирование S(sx, sy):
sx 0 0
0 sy 0 sx>0, sy>0
0 0 1
3
) отражение M:
1 0 0
0
-1 0
0 0
1
4) сдвиг T(dx, dy):
1 0 0
0
1 0
dx dy 1

Подробности можно найти в любой книге по компьютерной графике или поиском по rsdn-у — тема неоднократно обсуждалась
Re[2]: Как перевести координаты выделенного квадрата в матри
От: Scherhan  
Дата: 17.11.02 12:07
Оценка:
Здравствуйте, GarikTot, Вы писали:
GT>Масштабирование — это афинное преобразование, любое из ктр. может быть выполнено след. образом:
GT>Строится матрица преобразования и, затем, каждая точка картинки (её координаты) домножается на эту матрицу...
GT>Любое преобразование может быть выполнено с помощью комбинации простейших преобразований: поворота R, сдвига T, васштабирования S и отражения M. Например, нужно повернуть вектор V на 5 градусов вокруг точки (x, y, z): V*(T(-x, -y)*R(5)*T(x, y))
GT>Матрица преобразования — это квадратная матрица размерности на 1 больше размерности пространства. Для 2D преобраззований это матрица 3x3, для 3D 4x4 и т. д.
GT>Вектор координат дополняется 1: (x, y, 1) — 2D, (x, y, z, 1) — 3D ...
GT>Матрицы простейших преобразований (2D):
GT>1) вращение R(fi):
GT>cos(fi) sin(fi) 0
GT>-sin(fi) cos(fi) 0 fi — угол поворота
GT>0 0 1
GT>2) масштабирование S(sx, sy):
GT>sx 0 0
GT>0 sy 0 sx>0, sy>0
GT>0 0 1
GT>3) отражение M:
GT>1 0 0
GT>0 -1 0
GT>0 0 1
GT>4) сдвиг T(dx, dy):
GT>1 0 0
GT>0 1 0
GT>dx dy 1
GT>Подробности можно найти в любой книге по компьютерной графике или поиском по rsdn-у — тема неоднократно обсуждалась

Спасибо за отклик от Анонима, он же Scherhan
Программировать графику недавно начала...Вот и пытаюсь, сие гранит грызть. Пишу на Билдере. У меня снимки представлены в плоскости, т.е. в координатах X,Y. Первое, мне надо понять, как перевести координаты выделенного квадрата в матрицу???
Спасибо за внимание. Пока
Re[3]: Как перевести координаты выделенного квадрата в матри
От: GarikTot  
Дата: 17.11.02 23:06
Оценка:
Здравствуйте, Scherhan, Вы писали:


S>Спасибо за отклик от Анонима, он же Scherhan

S>Программировать графику недавно начала...Вот и пытаюсь, сие гранит грызть. Пишу на Билдере. У меня снимки представлены в плоскости, т.е. в координатах X,Y. Первое, мне надо понять, как перевести координаты выделенного квадрата в матрицу???
S>Спасибо за внимание. Пока

Я не совсем понимаю — зачем переводить координаты выделенного квадрата в матрицу?
И каким образом снимки заданы на плоскости? Это массив? TBitmap? Или что?

Предположим, задан двумерный массив:
COLORREF img[Width][Height]; // можно и TColor вместо COLORREF
Width и Height — ширина и высота снимка соответственно
Верхний-левый угол снимка — точка img[0][0], поэтому, если координаты выделенного квадрата, допустим (10, 10) — (20, 20), то нам и нужны точки с img[10][10] по img[20][20]. В этом случае код обработки (масштабирования) этого фрагмента будет выглядеть примерно так:

// M - матрица масштабирования (см. предыдущий постинг)
// TVector - вектор (x, y), должна быть определена операция умножения матрицы на вектор
TVector tl(10, 10); // верхний левый
TVector br(20, 20); // нижний правый
tl *= M; br *= M;
int w = br.x - tl.x; h = br.y - tl.y; // размерность нового массива
COLORREF *buf = new COLORREF[w*h];
M *= T(-tl.x, -tl.y); // домножаем на матрицу сдвига, чтобы новый массив начинался с точки (0, 0)
TMatrix IM = Inverse(M); // обращаем матрицу - операция так же должна быть определена
for(int y=0; y<h; y++){
   for(int x=0; x<w; x++){
      TVector V(x, y); V *= IM; // получаем координаты точки результирующего изображения (x, y) в исходном
      buf(w*y + x) = img[V.x][V.y];
   }
}

нетрудно заметить, что в данном случае масштабирование работает несовсем корректно: при уменьшении масштаба, часть точек исходного изображения просто пропадёт, а при увеличении — на результирующем изображении будут "одинокие" пиксели в окружении "пустоты"...

Бороться с этой проблемой можно таким образом:
1)при увеличении масштаба заполнять все точки от (x, y) до (x + sx, y + sy) одним цветом, получая блочную структуру (то же самое делает стандартная WINAPI'шная ф-ция StretchDIBits())
2)Использовать различные алгоритмы фильтрации

Что конкретно использовать (и использовать ли вообще) зависит от конкретной задачи... Как предполагается в дальнейшем сравнивать снимки (фрагменты снимков)? Вобщем — это тема отдельного разговора

зы.
Настоятельно советую поискать на rsdn'е — похожие вопросы уже были, причём недавно... Приводились примеры и интересные ссылки по данной тематике
зы. 2
Я когда-то писал нечто подобное... Если интересно могу поискать
Re[4]: Как перевести координаты выделенного квадрата в матри
От: Scherhan  
Дата: 18.11.02 19:05
Оценка:
Здравствуйте, GarikTot, Вы писали:
Спасибо за отклик
GT> Я когда-то писал нечто подобное... Если интересно могу поискать
Да, мне очень интересно, т.к. недавно начала работать с программированием графики. Обычно работала с БД, а тут...что поделаешь, работа
Хочу пояснить общую постановку задачи:
В двух окнах отображены снимки. Например, снимки твоего района: первый снимок сделан 10 ноября прошлого года
с самолёта, а второй снимок сделан 23 августа этого года со спутника. На первом снимке виден (не весь район)
твой дом, а на втором — весь район. На первом снимке выбираем область с твоим домом, где кликом мышью, рисуется
квадрат 24х24. Далее, на втором снимке выбираем интересующую область, где кликом мышью , рисуется квадрат 96х96.
В квадрате 96х96 второго снимка требуется найти выделенную область 24х24 (с твоим домом). Если в квадрате 96х96
находится область квадрата 24х24, то выделить его местоположение, а иначе повторить процесс выделения квадрата 96х96
и т.д. до тех пор пока не будет найдена выбранная область квадрата 24х24 в квадрате 96х96.
Половину задачи уже сделала, но самую важную часть — никак...
Спасибо за внимание. До свидания.
Re[5]: Как перевести координаты выделенного квадрата в матри
От: GarikTot  
Дата: 21.11.02 23:57
Оценка: 1 (1)
Извиняюсь за продолжительное молчание — проблемы со связью...

Здравствуйте, Scherhan, Вы писали:

S>Да, мне очень интересно, т.к. недавно начала работать с программированием графики. Обычно работала с БД, а тут...что поделаешь, работа


Дай адрес — пришлю примерчик

S>Хочу пояснить общую постановку задачи:

S>[...]

Поставленная задача естественным образом распадается на две:
1) подготовка изображения
Т. е. подготовка того, что нужно найти. Здесь возникает вопрос: масштаб на обоих снимках одинаков (и если нет — известна ли разница в масштабах)? И второй: ориентация обоих снимков одинакова (т. е. наклоннён ли один снимок относительно другого)?
Порядок действий здесь мне видится таким:
— выделяем из первого снимка интересующий фрагмент (копируем в массив, bitmap или ещё как-то — из соображений удобства)
— трансформируем его (поворачиваем и масштабируем) в случае необходимости; при этом, возможно, необходимо будет применить какой-либо из алгоритмов фильтрации
— возможно также, что нужно будет применить один из алгоритмов для подавления шумов (помех) на обоих снимках, т. к. снимки сделаны в разное время и разным оборудованием — помехи (шумы) будут разными — всё зависит от качества снимков
2) поиск
Предполагается, что к этому моменту масштаб и ориентация обоих изображений совпадают. Для поиска фрагмента, выделенного из первого снимка, во втором можно применить несколько способов:
— нейронная сеть (далее НС): реализовать достаточно просто (к тому же существует ряд библиотек уже реализующих НС), но её (НС) сложно обучить и для этого требуется большое количество исходных данных (по крайней мере тысячи подобных снимков)
— методы оконтуривания: выделение объектов (с помощбю определения их контуров) и поиск похожих на др. снимке
— если снимки различаются не слишком сильно, можно вычесть значения интенсивностей одного снимка (фрагмента) из другого, грубо говоря попиксельно сравнить картинки, и посчитать ошибку (отклонение), например в среднеквадратическом. Если она невелика — считать сравнённые фрагменты идентичными
— визуальный: можно накладывать выделенный фрагмент на второй снимок и позволить пользователю сдвгать его и самому решать — то это или нет

Больше пока ничего в голову не приходит...
Re[6]: Как перевести координаты выделенного квадрата в матри
От: Аноним  
Дата: 22.11.02 07:15
Оценка:
GT>Поставленная задача естественным образом распадается на две:
GT>1) подготовка изображения
GT> Т. е. подготовка того, что нужно найти. Здесь возникает вопрос: масштаб на обоих снимках одинаков (и если нет — известна ли разница в масштабах)? И второй: ориентация обоих снимков одинакова (т. е. наклоннён ли один снимок относительно другого)?
GT> Порядок действий здесь мне видится таким:
GT> — выделяем из первого снимка интересующий фрагмент (копируем в массив, bitmap или ещё как-то — из соображений удобства)
GT> — трансформируем его (поворачиваем и масштабируем) в случае необходимости; при этом, возможно, необходимо будет применить какой-либо из алгоритмов фильтрации
GT> — возможно также, что нужно будет применить один из алгоритмов для подавления шумов (помех) на обоих снимках, т. к. снимки сделаны в разное время и разным оборудованием — помехи (шумы) будут разными — всё зависит от качества снимков
GT>2) поиск
GT> Предполагается, что к этому моменту масштаб и ориентация обоих изображений совпадают. Для поиска фрагмента, выделенного из первого снимка, во втором можно применить несколько способов:
GT> — нейронная сеть (далее НС): реализовать достаточно просто (к тому же существует ряд библиотек уже реализующих НС), но её (НС) сложно обучить и для этого требуется большое количество исходных данных (по крайней мере тысячи подобных снимков)
GT> — методы оконтуривания: выделение объектов (с помощбю определения их контуров) и поиск похожих на др. снимке
GT> — если снимки различаются не слишком сильно, можно вычесть значения интенсивностей одного снимка (фрагмента) из другого, грубо говоря попиксельно сравнить картинки, и посчитать ошибку (отклонение), например в среднеквадратическом. Если она невелика — считать сравнённые фрагменты идентичными
GT> — визуальный: можно накладывать выделенный фрагмент на второй снимок и позволить пользователю сдвгать его и самому решать — то это или нет

GT>Больше пока ничего в голову не приходит...


Извиняюсь, что влезаю в диалог . Но задача автораспозанвания образов аэрофотосъемки достаточно сложна, чтобы рассуждать об удобстве копирования в Bitmap. В то же время она уже решена (в спецприложениях), в т.ч. и у нас в стране. Предлагаемая схема в общем правильная, так примерно все и делается , но реализация ее не тривиальна. Я в аналогичной ситуации полагаюсь на оператора — масштаб подгоняет он вручную, начала координат изображений — тоже. После этого можно действительно вычесть и что-нибудь посчитать для оператора, желательно скалярную величину (функционал), по значению которого пользователь решает — похоже-непохоже.
А если по науке , то читай Прэтта, Ярославского (хотя бы "Цифровую обработку изображений" от 1982) или по аглицки в инете. Но по науке получается ОЧЕНЬ ресурсоемко и зачастую неточно
Re[7]: Как перевести координаты выделенного квадрата в матри
От: GarikTot  
Дата: 23.11.02 00:56
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Извиняюсь, что влезаю в диалог . Но задача автораспозанвания образов аэрофотосъемки достаточно сложна, чтобы рассуждать об удобстве копирования в Bitmap.


Совершенно согласен, но человеку-то помочь нужно

А>В то же время она уже решена (в спецприложениях), в т.ч. и у нас в стране.


Это не значит, что не стоит за неё браться — обстоятельства разные бывают...

А>Предлагаемая схема в общем правильная, так примерно все и делается , но реализация ее не тривиальна. Я в аналогичной ситуации полагаюсь на оператора — масштаб подгоняет он вручную, начала координат изображений — тоже. После этого можно действительно вычесть и что-нибудь посчитать для оператора, желательно скалярную величину (функционал), по значению которого пользователь решает — похоже-непохоже.


Я и не говорил, что реализация тривиальна, однако задача вполне решаема и без участия оператора

А>А если по науке , то читай Прэтта, Ярославского (хотя бы "Цифровую обработку изображений" от 1982) или по аглицки в инете.


Дополнительная информация ещё никому не помешала

А>Но по науке получается ОЧЕНЬ ресурсоемко и зачастую неточно


Существует масса алгоритмов, которые предназначены специально для реализации на ЭВМ. Например, задача ориентации самолётов по снимкам поверхности земли — суть, задача распознавания объектов на снимках и сравнения с эталонными (почти та же задача, что и предложенная здесь) решается без участия человека, причём во временной отрезок менее секунды и на более чем скромных машинах
Re[8]: Как перевести координаты выделенного квадрата в матри
От: Scherhan  
Дата: 24.11.02 15:26
Оценка:
Спасибо ВСЕМ, кто мне помогает )

Здравствуйте, GarikTot, Вы писали:
Масштаб на обоих снимках не известен, а также разница. Ориентация обоих снимков, вроде-бы похожа.
С нейронной сетью сталкивалась ранее, но знания в этой области поверхностны. Попиксельно вряд-ли получится, т.к. снимки одной местности имеют отличия, например: в четкости; в масштабе; в цвете, хотя снимки черно-белые (градация серого). А вот поиск по контуру, м.б. — лучший вариант.
Визуальный метод совсем не подходит.
Я уже сделала перевод в пикселы координаты двух квадратов в матрицы, проверила значения двух квадратов->вывод, что попиксельно не сравнить ((
Мой адрес: scherhan@hotmail.ru
Re[9]: Как перевести координаты выделенного квадрата в матри
От: GarikTot  
Дата: 25.11.02 04:34
Оценка:
Здравствуйте, Scherhan, Вы писали:

S>Мой адрес: scherhan@hotmail.ru


Пример уже отправил

S>Масштаб на обоих снимках не известен, а также разница. Ориентация обоих снимков, вроде-бы похожа.


Это плохо — задача усложняется... Автоматически определять масштаб не всегда удобно. Возможно стоит предоставить пользователю возможность масштабировать на разные величины и сказать когда примерно похоже, или каким-нибудь другим способом выяснить масштаб (снимки же откудато взялись)

S>А вот поиск по контуру, м.б. — лучший вариант.


Возможно, что так. Могу здесь посоветовать только одно: необходимо изучать данную тему (главным образом, читая литературу )
[1] Кузьмин С. З. "Основы проектирования систем цифровой обработки радполокационной информации"
[2] Фу К. "Структурные методы распознавания образов"
Кроме того любая книга по машинной графике и мат. методам обработки изображений сможет что-то добавить
Re[10]: Как перевести координаты выделенного квадрата в матр
От: Scherhan  
Дата: 27.11.02 17:48
Оценка:
Здравствуйте, GarikTot, Вы писали:

GT>Пример уже отправил

Спасибо, большое, за пример и за помощь
Re[10]: Как перевести координаты выделенного квадрата в матр
От: Scherhan  
Дата: 27.11.02 19:46
Оценка:
Здравствуйте, GarikTot!
Вот хочу спросить у Вас, я правильно сделала:
Когда кликаю мышью на двух PaintBox'ах,рисуются квадраты, т.е. на PaintBox1 — квадрат 48х48, а на PaintBox2 — квадрат 96х96. Затем каждый квадрат загоняю в матрицы:
//n = 48
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
Matrix1[n][n]=PaintBox1->Picture->Canvas->Pixels[i+X0][j+Y0];
}
//Для m = 96 тоже самое.

Т.о. получила матрицы с пикселами, но не знаю, как сделать построчный поиск. Понятно, что надо взять Matrix1[0][0] и прогнать по Matrix2[m][m] до его нахождения в данной матрице. Если есть такой пиксел, рисуется точка в квадрате_2 и так до тех пор, пока не нарисуется квадрат_1.
Спасибо. Пока
Re[11]: Как перевести координаты выделенного квадрата в матр
От: GarikTot  
Дата: 28.11.02 04:25
Оценка:
Здравствуйте, Scherhan, Вы писали:

S>Т.о. получила матрицы с пикселами, но не знаю, как сделать построчный поиск. Понятно, что надо взять Matrix1[0][0] и прогнать по Matrix2[m][m] до его нахождения в данной матрице. Если есть такой пиксел, рисуется точка в квадрате_2 и так до тех пор, пока не нарисуется квадрат_1.

S>Спасибо. Пока

А зачем это нужно?

Если сравниваются два различных снимка, то это работать не будет, т. к. одинаковых точек всё равно не найдётся... Если хочется делать таким образом, лучше всего поступить так: не искать одинаковые точки, а вычитать точки одного квадрата — из другого, а затем посчитать средне-квадратическое отклонение...

Или я что-то неправильно понял?
Re[12]: Как перевести координаты выделенного квадрата в матр
От: Аноним  
Дата: 28.11.02 09:46
Оценка:
Здравствуйте, GarikTot, Вы писали:
GT>а вычитать точки одного квадрата — из другого, а затем посчитать средне-квадратическое отклонение...
И что это даст?
Re[13]: Как перевести координаты выделенного квадрата в матр
От: Scherhan  
Дата: 28.11.02 18:03
Оценка:
Здравствуйте, GarikTot, Вы писали:
"а вычитать точки одного квадрата — из другого, а затем посчитать средне-квадратическое отклонение..." Для чего используется данный метод???
Re[14]: Как перевести координаты выделенного квадрата в матр
От: GarikTot  
Дата: 29.11.02 03:19
Оценка:
Здравствуйте, Scherhan, Вы писали:

S> "а вычитать точки одного квадрата — из другого, а затем посчитать средне-квадратическое отклонение..." Для чего используется данный метод???


Если известно, что на обоих фрагментах фасштаб одинаков, можно попробовать сделать так, как я написал выше... Дело в том, что если на снимках одно и то же место (даже если они сделаны в разное время), величина ошибки (отклонения) будет заметно отличаться от тех случаев, когда снимки разные... Тут нужно правильно (экспереминтальным путём, "методом научногго тыка" ) подобрать пороговое значение ошибки, после ктр. считать объекты идентичными...

Я не настаиваю на этом методе: сам так никогда не пробовал делать, просто один приятель рассказывал, что можно поступить таким образом... мы с ним даже помнится на пиво поспорили...
Re[15]: Как перевести координаты выделенного квадрата в матр
От: Scherhan  
Дата: 01.12.02 00:13
Оценка:
Здравствуйте, GarikTot, Вы писали:

GT>Если известно, что на обоих фрагментах фасштаб одинаков, можно попробовать сделать так, как я написал выше... Дело в том, что если на снимках одно и то же место (даже если они сделаны в разное время), величина ошибки (отклонения) будет заметно отличаться от тех случаев, когда снимки разные... Тут нужно правильно (экспереминтальным путём, "методом научногго тыка" ) подобрать пороговое значение ошибки, после ктр. считать объекты идентичными...


GT>Я не настаиваю на этом методе: сам так никогда не пробовал делать, просто один приятель рассказывал, что можно поступить таким образом... мы с ним даже помнится на пиво поспорили...


Хм, оригинально...такую тему спорят, аж на пиво
Сказали,что после прогона каждого пиксела первой матрицы во второй надо из суммы эталона вычесть сумму текущей, что-то вроде этого...
Re[16]: Как перевести координаты выделенного квадрата в матр
От: GarikTot  
Дата: 02.12.02 04:40
Оценка:
Здравствуйте, Scherhan, Вы писали:

S>Хм, оригинально...такую тему спорят, аж на пиво


И не просто, а на ящик!

S>Сказали,что после прогона каждого пиксела первой матрицы во второй надо из суммы эталона вычесть сумму текущей, что-то вроде этого...


Вариации всё на ту же тему...
В том случае предлогалось минимизировать средне-квадратическое (СК) отклонение (разницу между точками) методом наименьших квадратов (МНК)
енто, второй (нето третий) курс — ТВИМС, насколько я помню...

только всё равно, мне кажется, ничего достойного из этого не выйдет...
Re[17]: Как перевести координаты выделенного квадрата в матр
От: cpp Россия http://www.elecard.com
Дата: 02.12.02 18:34
Оценка:
Здравствуйте, GarikTot, Вы писали:

GT>Здравствуйте, Scherhan, Вы писали:


S>>Хм, оригинально...такую тему спорят, аж на пиво


GT>И не просто, а на ящик!


S>>Сказали,что после прогона каждого пиксела первой матрицы во второй надо из суммы эталона вычесть сумму текущей, что-то вроде этого...


GT>Вариации всё на ту же тему...

GT>В том случае предлогалось минимизировать средне-квадратическое (СК) отклонение (разницу между точками) методом наименьших квадратов (МНК)
GT>енто, второй (нето третий) курс — ТВИМС, насколько я помню...

GT>только всё равно, мне кажется, ничего достойного из этого не выйдет...


Привет всем.
может что пропустил, но все равно скажу. Есть замечательный метод motion estimation назывется, используется в MPEG'ах для апроксимации движения между кадрами.
Для данного случая примерно так:
берем маленький квадрат увеличиваем его интерполяцией до размеров большого и начинаем поиск в заданной области картинки (можно по всей конечно, но если есть какие-то предположения — то лучше их использовать)
минимизируя функцию расстояния между блоками — СКО.
Зря между прочим некоторые товарищи шуткуют по этому поводу — MPEG group на данной технологии давно деньги рубит и как вы могли заметить довольно успешно не смотря на столь простую функцию как СКО. Если кто не знает, то без motion estimation MPEG просто ничто (точнее MJPEG), т.е. ~20-30 кратное сжатие .
Сергей.
Re: Как перевести координаты выделенного квадрата в матрицу
От: Vladimir_V  
Дата: 03.12.02 10:37
Оценка:
Здравствуйте, Аноним, Вы писали:

полезная статья по теме:
IMAGE RETRIEVAL BASED ON ENERGY HISTOGRAMS OF THE LOW FREQUENCY DCT COEFFICIENTS

http://www.telecom.tuc.gr/paperdb/icassp99/PDF/AUTHOR/IC991221.PDF — статья

http://debut.cis.nctu.edu.tw/pages/slides/jeffrey/present2.pdf — тезисы
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.