C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Окно в OpenCV  (Прочитано 3607 раз)
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Окно в OpenCV
« : 25 Сентябрь 2014, 14:53:02 »

Привожу пример кода из учебного пособия
http://locv.ru/wiki/2.1
    #include

    int main()

    {

    IplImage* img = cvLoadImage(“D:\\foto.jpg”); // Загружаем изображение

    cvNamedWindow(“Example1”, CV_WINDOW_AUTOSIZE); // Создаём окно

    cvShowImage(“Example1”, img); // Выводим картинку в окно

    cvWaitKey(0); // Ждём

    cvReleaseImage(&img); // Освобождаем память из под картинки

    cvDestroyWindow(“Example1”); // Удаляем окно

    return 0;

    }

Функция  cvNamedWindow(“Example1”, CV_WINDOW_AUTOSIZE); создает окно в которое выводится изображение. А как не создавая это окно вывести изображение ну скажем на Panel или хотя бы просто закрепить его на главной форме убрав при этом кнопки управления этим окном. (закрыть, развернуть свернуть). В общем задача ограничиться только одним главным окном.

Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: Окно в OpenCV
« Ответ #1 : 26 Сентябрь 2014, 09:22:03 »

Прямых методов и функций в OpenCV для этого нет. См. официальную справку и тему на stackoverflow.

Но можно попробовать сделать следующее:
1) Создать обычным способом именованное окно OpenCV:
Код
const char* WINTITLE = "Название моей картинки!";
const char* FILENAME = "D:\\foto.jpg";
 
IplImage* img = cvLoadImage(FILENAME);
cvNamedWindow(WINTITLE, WINDOW_NORMAL);
 

2) Получить доступ к окну через WinAPI:
Код
HWND WinHandle = ::FindWindowEx(NULL, NULL, NULL, String(WINTITLE).w_str());
if(WinHandle) {
  //
}
 

Далее используем все танцы с бубном: SetWindowLongPtr с расширенными стилями окна (чтобы, например, удалить элементы управления) и как описано здесь.

Не забываем удалить окно OpenCV из памяти (cvDestroyWindow).

Кстати, почему у тебя в примерах C-шные функции? Лучше использовать C++ (namedWindow вместо cvNamedWindow и т.д.)
Записан
Sergey1985
Участник


Сказали спасибо: +8/-1
Offline

Сообщений: 310


Re: Окно в OpenCV
« Ответ #2 : 29 Сентябрь 2014, 09:52:52 »

Ну какие были в примере те и использовал. Со временем как разберусь код буду причесывать и приглаживать
Записан
S0mbre
Глобальный модератор


Сказали спасибо: +1113/-22
Offline

Сообщений: 2132

S0mbre


Re: Окно в OpenCV
« Ответ #3 : 01 Октябрь 2014, 15:46:36 »

Установи Delphi-OpenCV (проект, кстати, наших соотечественников Лаентира Валетова и Михаила Григорьева). И будет тебе Счастье  Там тебе все встроенные компоненты для VCL / FMX, нативные классы и методы OpenCV и все остальное.
Только что установил и погонял на своем XE7.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.152 секунд. Запросов: 22.