Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
Fene4ka_
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,244
1

Работа с opencv

02.10.2015, 04:42. Просмотров 1597. Ответов 14
Метки нет (Все метки)

Добрый день, написал немного кода с использованием opencv
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "opencv\cv.h"
#include "opencv\highgui.h"
#include <stdlib.h>
#include <stdio.h>
#include "stdafx.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    CvCapture* capture = cvCaptureFromCAM(0);
    IplImage* image = cvQueryFrame(capture); 
    cvNamedWindow("image window", 1);
    for (;;) 
    {
        image = cvQueryFrame(capture); 
        cvShowImage("image window", image);
        cvWaitKey(10);
    }
    return 0;
}
ничего красным студия не подсвечивает, но при компиляции возникает ряд ошибок, подскажите в чем проблема.
0
Миниатюры
Работа с opencv  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2015, 04:42
Ответы с готовыми решениями:

OpenCV: найти соотношение площади пересечения двух фигур до их обьединения
Всем привет! Изучаю OpenCV и столкнулась с таким заданием: есть картинка, на которой нарисовано...

Работа с библиотеками openCV
Пытаюсь запустить код по распознаванию лиц, использующий библиотеки opencv. Все библиотеки были...

Работа с библиотекой opencv
Добрый день! Я установил opencv 2.4.13 на vs12, настроил несколько раз, но у меня выдает ошибку:...

OpenCV. Работа с MatOfPoint
Здравствуйте, помогите пожалуйста исправить ошибки, вот код: for (int i = 0; i &lt;...

[OpenCV] Выделение кругов и работа с ними
Всем доброго времени суток! В ходе работы с OpenCV на Raspberry Pi возник вопрос: Я нахожу круги...

14
egor2116
580 / 383 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
02.10.2015, 07:59 2
Вы используете необъявленные имена классов. Возможно вы неправельно подключили opencv к вашему проекту или нужно добавить *.dll opencv к вашему проекту или прописать путь к этим *.dll в переменной PATH
0
zss
Модератор
Эксперт С++
9113 / 7892 / 4862
Регистрация: 18.12.2011
Сообщений: 21,056
Завершенные тесты: 1
02.10.2015, 08:11 3
Такое ощущение, что директивы
C++
1
2
#include "opencv\cv.h"
#include "opencv\highgui.h"
невыполнены
Попробуйте указать полный путь к cv.h и highgui.h
или
C++
1
2
#include <cv.h>
#include <highgui.h>
0
Fene4ka_
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,244
03.10.2015, 14:00  [ТС] 4
Цитата Сообщение от egor2116 Посмотреть сообщение
Вы используете необъявленные имена классов. Возможно вы неправельно подключили opencv к вашему проекту или нужно добавить *.dll opencv к вашему проекту или прописать путь к этим *.dll в переменной PATH
возможно я действительно что-то не правильно сделал, не могли бы вы показать, как правильно подключить opencv к проекту ?

Добавлено через 5 часов 44 минуты
как я устанавливал:
1)C/C++ -> General -> Additional include directories -> добавил opencv\build\include;
2)Linker -> General -> Additional library directories -> добавил opencv\build\x64\vc12\lib и staticlib;
3)Linker -> Input -> Additional dependencies -> след список лаб:
Кликните здесь для просмотра всего текста

opencv_core300.lib
opencv_contrib300.lib
opencv_features2d300.lib
opencv_flann300.lib
opencv_highgui300.lib
opencv_objdetect300.lib
opencv_video300.lib
opencv_legacy300.lib
opencv_calib3d300.lib
opencv_ffmpeg300.lib
opencv_imgproc300.lib
opencv_ml300.lib

что я сделал не так ?

Добавлено через 8 часов 52 минуты
upup, очень нужна помощь

Добавлено через 12 часов 50 минут
up up
0
zss
Модератор
Эксперт С++
9113 / 7892 / 4862
Регистрация: 18.12.2011
Сообщений: 21,056
Завершенные тесты: 1
03.10.2015, 14:40 5
В таком случае, должно сработать
C++
1
2
#include <cv.h>
#include <highgui.h>
0
Fene4ka_
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,244
03.10.2015, 14:59  [ТС] 6
Цитата Сообщение от zss Посмотреть сообщение
В таком случае, должно сработать
Код C++Выделить код
1
2
#include <cv.h>
#include <highgui.h>
на библиотеки не ругается, но не помогло
0
iRomul
159 / 100 / 14
Регистрация: 17.10.2012
Сообщений: 483
Завершенные тесты: 1
03.10.2015, 17:00 7
какая версия opencv?
0
Fene4ka_
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,244
03.10.2015, 18:21  [ТС] 8
Цитата Сообщение от iRomul Посмотреть сообщение
какая версия opencv?
ну я же либы 300 подключаю, значит версия 3.0.0
0
IrineK
Заблокирован
04.10.2015, 04:58 9
Installation in Windows
How to build applications with OpenCV inside the Microsoft Visual Studio

Нужно создавать пустой проект.
0
Fene4ka_
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,244
04.10.2015, 08:57  [ТС] 10
Нужно создавать пустой проект.
попробовал, в результате для
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "opencv\cv.h"
#include "opencv\highgui.h"
#include <stdlib.h>
#include <stdio.h>
 
 
int main(int argc, char** argv)
{
    CvCapture* capture = cvCaptureFromCAM(0);
    IplImage* image = cvQueryFrame(capture);
    cvNamedWindow("image window", 1);
    for (;;)
    {
        image = cvQueryFrame(capture);
        cvShowImage("image window", image);
        cvWaitKey(10);
    }
    return 0;
}
такие ошибки http://screencast.com/t/XLkrGem8.
для кода:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include "opencv2/video/tracking.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include <cv.h>
#include <highgui.h>
#include <time.h>
#include <stdio.h>
#include <dos.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
 
int dig_key = 0;
int region_coordinates[10][4];
void myMouseCallback(int event, int x, int y, int flags, void* param)
{
    IplImage* img = (IplImage*)param;
    switch (event){
    case CV_EVENT_MOUSEMOVE:
        //printf("%d x %d\n", x, y);
        break;
    case CV_EVENT_LBUTTONDOWN:
        //printf("%d x %d\n", region_coordinates[dig_key][0], region_coordinates[dig_key][1]);  
        if (region_coordinates[dig_key][0] != 0 && region_coordinates[dig_key][1] != 0 && region_coordinates[dig_key][2] == 0 && region_coordinates[dig_key][3] == 0)
        {
            region_coordinates[dig_key][2] = x;
            region_coordinates[dig_key][3] = y;
        }
        if (region_coordinates[dig_key][0] == 0 && region_coordinates[dig_key][1] == 0)
        {
            region_coordinates[dig_key][0] = x;
            region_coordinates[dig_key][1] = y;
        }
        break;
    case CV_EVENT_RBUTTONDOWN:
        break;
    case CV_EVENT_LBUTTONUP:
        break;
    }
}
 
int main(int argc, char** argv)
{
    IplImage* image = 0;
    CvCapture* capture = 0;
    time_t t;
    struct tm *t_m;
    int fps = 0, fps_sec = 0, now_sec = 0;
    char fps_text[2];
    CvFont font;
    cvInitFont(&font, CV_FONT_HERSHEY_COMPLEX_SMALL, 1.0, 1.0, 1, 1, 8);
    capture = cvCaptureFromCAM(0); //for video use cvCaptureFromAVI(path)
    cvNamedWindow("Motion", 1);
    for (;;)
    {
        IplImage* image = cvQueryFrame(capture);
        t = time(NULL);
        t_m = localtime(&t);
        now_sec = t_m->tm_sec;
        if (fps_sec == now_sec)
        {
            fps++;
        }
        else
        {
            fps_sec = now_sec;
            printf(fps_text, 254, "%d", fps);
            fps = 0;
        }
        cvSetMouseCallback("Motion", myMouseCallback, (void*)image);
        if (region_coordinates[dig_key][0] != 0 && region_coordinates[dig_key][1] != 0 && region_coordinates[dig_key][2] == 0 && region_coordinates[dig_key][3] == 0)
            cvRectangle(image, cvPoint(region_coordinates[dig_key][0], region_coordinates[dig_key][1]), cvPoint(region_coordinates[dig_key][0] + 1, region_coordinates[dig_key][1] + 1), CV_RGB(0, 0, 255), 2, CV_AA, 0);
 
        if (region_coordinates[dig_key][0] != 0 && region_coordinates[dig_key][1] != 0 && region_coordinates[dig_key][2] != 0 && region_coordinates[dig_key][3] != 0)
            cvRectangle(image, cvPoint(region_coordinates[dig_key][0], region_coordinates[dig_key][1]), cvPoint(region_coordinates[dig_key][2], region_coordinates[dig_key][3]), CV_RGB(0, 0, 255), 2, CV_AA, 0);
        cvPutText(image, fps_text, cvPoint(5, 20), &font, CV_RGB(255, 255, 255));
        cvShowImage("Motion", image);
 
        char c = cvWaitKey(20);
        if (c <= 57 && c >= 48)
        {
            dig_key = c - 48; //key "0123456789"
        }
    }
    cvReleaseCapture(&capture);
    cvReleaseImage(&image);
    cvDestroyWindow("Motion");
    return 0;
}
ошибок чуть больше http://screencast.com/t/SixddNpXRL9.
Скрины не ввиде ссылок почему-то отказались загружаться
0
Миниатюры
Работа с opencv  
zss
Модератор
Эксперт С++
9113 / 7892 / 4862
Регистрация: 18.12.2011
Сообщений: 21,056
Завершенные тесты: 1
04.10.2015, 09:15 11
У меня в VS 2008 в дополнительных зависимостях стоит
cxcore210.lib cv210.lib highgui210.lib cvaux210.lib ml210.lib cxts210.lib opencv_ffmpeg210.lib

Кстати, более позднюю версию на VS2008 я поставить не сумел.
Может у Вас та же проблема?
0
IrineK
Заблокирован
04.10.2015, 23:54 12
После инклюдов:
C++
1
using namespace cv;
0
iRomul
159 / 100 / 14
Регистрация: 17.10.2012
Сообщений: 483
Завершенные тесты: 1
05.10.2015, 01:32 13
IrineK, у автора сишный интерфейс.
Кстати давно еще в анонсах читал, что разработчики отказываются от поддержки сишнего API. Вряд ли в этом дело, но стоит поискать.
0
IrineK
Заблокирован
05.10.2015, 12:38 14
Тогда просто не подключены библиотеки.

Добавлено через 1 минуту
Цитата Сообщение от iRomul Посмотреть сообщение
разработчики отказываются от поддержки сишнего API
Мне запустить приложение с WinAPI не удалось.
Хотя остальные работают.
0
andreymisin
Заблокирован
11.10.2015, 14:35 15
Fene4ka_, думаю дело кроется в использовании Opencv 3.0.0 она тестовая версия, установите более раннюю версию и все заработает
0
11.10.2015, 14:35
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2015, 14:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Работа с OpenCV, нахождение параметров обьектов
Здравствуйте, Мне нужно сделать один проект по учебе, речь идет о програмированнии одной...

Работа с изображением через библиотеку OpenCV
Есть изображение состоящее из множества фигур внутри, определить кротчайшее расстояние от одного к...

OpenCV для Visual Studio C++ работа с изображениями
Здравствуйте, товарищи программисты. необходимо выполнить задание по встраиванию в картинку...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.