Форум программистов, компьютерный форум CyberForum.ru

С++ и OpenCV. Оператор Собеля - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 5.00
Adrenaline59
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 6
24.08.2013, 00:23     С++ и OpenCV. Оператор Собеля #1
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
#include <cv.h>
#include <highgui.h>
#include <stdlib.h>
#include <stdio.h>
 
IplImage* image = 0;
IplImage* dst = 0;
IplImage* dst2 = 0;
 
int xorder = 1;
int xorder_max = 2;
 
int yorder = 1;
int yorder_max = 2;
 
//
// функция-обработчик ползунка -
// порядок производной по X
void myTrackbarXorder(int pos) {
        xorder = pos;
}
 
//
// функция-обработчик ползунка -
// порядок производной по Y
void myTrackbarYorder(int pos) {
        yorder = pos;
}
 
int main(int argc, char* argv[])
{
        // имя картинки задаётся первым параметром
       char* filename = argc >= 2 ? argv[1] : "Image0.jpg";                   // <-------
        // получаем картинку
        image = cvLoadImage(filename, 1);
        // создаём картинки
        dst = cvCreateImage( cvSize(image->width, image->height), IPL_DEPTH_16S, image->nChannels);
        dst2 = cvCreateImage( cvSize(image->width, image->height), image->depth, image->nChannels);
 
        printf("[i] image: %s\n", filename);
        assert( image != 0 );

На выделенной строке вылетает main.cpp|34|error: invalid conversion from 'const char*' to 'char*'
Подскажите ,пожалуйста, как исправить? Пишу на CodeBlocks
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.08.2013, 00:51     С++ и OpenCV. Оператор Собеля #2
Если так:
C++
1
const char* filename = argc >= 2 ? argv[1] : "Image0.jpg";
Adrenaline59
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 6
24.08.2013, 01:14  [ТС]     С++ и OpenCV. Оператор Собеля #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Если так:
C++
1
const char* filename = argc >= 2 ? argv[1] : "Image0.jpg";

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main(int argc, char* argv[])
{
        // имя картинки задаётся первым параметром
        const char* filename = argc >= 2 ? argv[1] : "Image0.jpg";
 
        // получаем картинку
>>>>> image = cvLoadImage(filename, 1);<<<<<<<<<
        // создаём картинки
        dst = cvCreateImage( cvSize(image->width, image->height), IPL_DEPTH_16S, image->nChannels);
        dst2 = cvCreateImage( cvSize(image->width, image->height), image->depth, image->nChannels);
 
        printf("[i] image: %s\n", filename);
        assert( image != 0 );
теперь на этой строке: image = cvLoadImage(filename, 1);
main.cpp|42|undefined reference to `cvLoadImage' что это значит?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.08.2013, 01:22     С++ и OpenCV. Оператор Собеля #4
Цитата Сообщение от Adrenaline59 Посмотреть сообщение
что это значит?
Компилятор не понимает что это такое. Скорее всего, в заголовочных файлах нет прототипа этой функции.
Adrenaline59
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 6
24.08.2013, 01:28  [ТС]     С++ и OpenCV. Оператор Собеля #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Компилятор не понимает что это такое. Скорее всего, в заголовочных файлах нет прототипа этой функции.
это можно исправить кроме как попробовать другой компилятор?
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
#include <cv.h>
#include <highgui.h>
#include <stdlib.h>
#include <stdio.h>
 
IplImage* image = 0;
IplImage* dst = 0;
IplImage* dst2 = 0;
 
int xorder = 1;
int xorder_max = 2;
 
int yorder = 1;
int yorder_max = 2;
 
//
// функция-обработчик ползунка -
// порядок производной по X
void myTrackbarXorder(int pos) {
        xorder = pos;
}
 
//
// функция-обработчик ползунка -
// порядок производной по Y
void myTrackbarYorder(int pos) {
        yorder = pos;
}
 
int main(int argc, char* argv[])
{
        // имя картинки задаётся первым параметром
        const char* filename = argc >= 2 ? argv[1] : "Image0.jpg";
 
        // получаем картинку
        image = cvLoadImage(filename, 1);
        // создаём картинки
        dst = cvCreateImage( cvSize(image->width, image->height), IPL_DEPTH_16S, image->nChannels);
        dst2 = cvCreateImage( cvSize(image->width, image->height), image->depth, image->nChannels);
 
        printf("[i] image: %s\n", filename);
        assert( image != 0 );
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.08.2013, 01:36     С++ и OpenCV. Оператор Собеля #6
Компилятор тут, скорее всего, не при чём... Хотя можно и попробовать... Есть другая среда? Как OpenCV подключали к Code::Blocks? Код откуда?

Добавлено через 3 минуты
Если эту строку закоментировать, то другие функции находит (cvCreateImage())?
Adrenaline59
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 6
24.08.2013, 01:42  [ТС]     С++ и OpenCV. Оператор Собеля #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Компилятор тут, скорее всего, не при чём... Хотя можно и попробовать... Есть другая среда? Как OpenCV подключали к Code::Blocks? Код откуда?
Вот сейчас докачаю visualstudio c++, подключу OpenCV и буду пробовать
OpenCV подключал так http://www.youtube.com/watch?v=xcK-y...Mo6HhQJu73GuGa

нет не находит(((
Миниатюры
С++ и OpenCV. Оператор Собеля  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.08.2013, 01:53     С++ и OpenCV. Оператор Собеля #8
Или нужные хедеры не подключены, или в подключенных нет этих функций, может быть из-за того, что код не под эту версию библиотеки.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
24.08.2013, 02:28     С++ и OpenCV. Оператор Собеля #9
Adrenaline59, ты либы openCV добавил в проект?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.08.2013, 03:33     С++ и OpenCV. Оператор Собеля #10
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Adrenaline59, ты либы openCV добавил в проект?
Я подумал, что ошибку компилятор выдаёт (строку показывает), но посмотрел видео по ссылке, там точно такую же ошибку компоновщик выдаёт (там это видно). Библиотеки там, почему-то, не подключают (только путь к хедерам прописывают), и видео на этой ошибке заканчивается (может продолжение есть?). Тогда получается, что просто либы нужно подключить.
Миниатюры
С++ и OpenCV. Оператор Собеля  
Adrenaline59
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 6
24.08.2013, 22:10  [ТС]     С++ и OpenCV. Оператор Собеля #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Я подумал, что ошибку компилятор выдаёт (строку показывает), но посмотрел видео по ссылке, там точно такую же ошибку компоновщик выдаёт (там это видно). Библиотеки там, почему-то, не подключают (только путь к хедерам прописывают), и видео на этой ошибке заканчивается (может продолжение есть?). Тогда получается, что просто либы нужно подключить.
Либы подключил и ура закомпилилось=) Только пока не могу запустить, проверить, просит библиотеку libopencv_core246.dll, пока нашёл только libopencv_core246.dll.a. Может кто знает где она и возможно ли чтобы при компиляции все какие нужны библиотеки записывались в проект?
Миниатюры
С++ и OpenCV. Оператор Собеля  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2013, 23:19     С++ и OpenCV. Оператор Собеля
Еще ссылки по теме:

OpenCV C++
OpenCV C++
C++ Нахождение границ изображения оператором Собеля

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.08.2013, 23:19     С++ и OpenCV. Оператор Собеля #12
Цитата Сообщение от Adrenaline59 Посмотреть сообщение
Может кто знает где она
В папке bin.

Добавлено через 56 минут
Проще в студии сделать. Если mingv, то при запуске, почему-то чего-то не хватает.
Yandex
Объявления
24.08.2013, 23:19     С++ и OpenCV. Оператор Собеля
Ответ Создать тему
Опции темы

Текущее время: 15:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru