Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для lanu4
15 / 15 / 5
Регистрация: 21.08.2012
Сообщений: 115
Записей в блоге: 2

Сравнение двух изображений с IP-камеры

13.03.2014, 12:36. Показов 2424. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
задача стоит в определении изменения положения IP-камеры, фокусировки и т.д. все то, что отличается он начального положения камеры. Выход - это сравнивать полученные с нее снапшоты. Снапшоты я получаю, но теперь вопрос в другом:
1) Как сравнить полученный снапшот с искомым?
2)Какими методами нужно воспользоваться?
PS снапшот получаю в одном и том же разрешении и записан в jpg.
pss на снапшоте есть "объект" который не перемещается, есть как бы задумка определить его координаты и от этого и отталкиваться, но как это сделать? и как вообще происходит этот механизм сравнения?
Заранее благодарен.

Добавлено через 7 часов 7 минут
немного разобрался, сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        Graphics::TBitmap * Bitmap = new Graphics::TBitmap;
    // создаем новый объект examp класса TJPEGImage;
    TJPEGImage * examp = new TJPEGImage;
    examp->LoadFromFile("1.jpg");
    Bitmap->Assign(examp);
    // рисуем
    Image1->Canvas->Draw(0,0,Bitmap);
    examp->LoadFromFile("2.jpg");
    Bitmap->Assign(examp);
    // рисуем
    Image2->Canvas->Draw(0,0,Bitmap);
 
    delete examp;
//......
//на кнопке сделал:
int x=200;
int y=0;
int h=70;
int w=70;
Image3->Canvas->CopyRect(Rect(0,0,w,h),Image1->Canvas,Rect(x,y,x+w,y+h));
Image3->AutoSize = true;
 
Image4->Canvas->CopyRect(Rect(0,0,w,h),Image2->Canvas,Rect(x,y,x+w,y+h));
Image4->AutoSize = true;
 
int r,r1;
for (size_t i=1; i < Image3->Width; i++) {
    for (size_t j=1; j < Image3->Height; j++) {
        r  = GetRValue(Image3->Canvas->Pixels[i][j]);
        r1 = GetRValue(Image4->Canvas->Pixels[i][j]);
        if (r == r1) {
            Memo1->Lines->Add("0");
        }
        else {
            Memo1->Lines->Add("1");
        }
    }
}
1 - больше чем 0, почему? я что то делаю не так?
делал :
C++
1
if (Image3->Canvas->Pixels[i][j] == Image4->Canvas->Pixels[i][j])
тоже самое...
ps
Image3->Width = Image4->Width;
Image3->Height = Image4->Height;

Добавлено через 19 минут
куски снапшотов одинаковые, снапшоты получены с разницей в 1сек.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2014, 12:36
Ответы с готовыми решениями:

Сравнение двух изображений
Подскажите пожалуйста как сравнить два объекта Image на предмет того, содержат они разное изображение или одно и тоже?

Сравнение двух изображений на идентичность
Привет всем. Есть такой вопрос можно ли сравнивать отличие двух изображений? Если да как? Условия такая если в двух изображение один и...

Сравнение двух изображений. Как реализовать?
Здравствуйте, уважаемые! Понимаю, что тема, возможно, уже и не раз обсуждалась, но хочу повторится. Я пишу алгоритм сравнения двух...

1
☆ Форумчанин(FSC)☆
 Аватар для 2ima
911 / 292 / 27
Регистрация: 28.04.2013
Сообщений: 2,466
Записей в блоге: 10
15.03.2014, 18:43
может поможет это
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.03.2014, 18:43
Помогаю со студенческими работами здесь

Почему не работает сравнение двух изображений?
После нажатия на кнопку, нет никакого сообщения... Код: procedure CompareImages(Image1, Image2: TImage); var x, y: integer; ...

Нехватка памяти, попиксельное сравнение двух изображений
Добрый день ув. Программисты. Есть код сравнения двух изображений по пиксельно: procedure TForm4.Timer2Timer(Sender:...

Захват изображений с веб-камеры
пользуясь различными источниками собрал прогу. при компиляции ругается так ,14: error: C1083: Cannot open include file:...

Сравнение изображений
Добрый день. Пишу программу удаленного управления. Нужно найти и отправить измененные части снимка рабочего стола, как это реализовать...

Сравнение изображений
ДОБРОЕ ВРЕМЯ СУТОК, уважаемые программисты! У меня будет такой вопрос: Как можно узнать содержимое JPEG файла для попикселного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru