Как устанавливают заголовочные файлы для opencv в C в моей человечности 11.10

Resently I'm installed Opencv in my machine. Its working in python well(I just checked it by some eg programs). But due to the lack of tutorials in python I decided to move to c. I just run an Hello world program from http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/

Моя программа

#include 
#include 
#include 
#include 
#include 


int main(int argc, char *argv[])
{
  IplImage* img = 0; 
  int height,width,step,channels;
  uchar *data;
  int i,j,k;

  if(argc<2){
    printf("Usage: main \n\7");
    exit(0);
  }

 //load an image  
  img=cvLoadImage(argv[1]);
  if(!img){
    printf("Could not load image file: %s\n",argv[1]);
    exit(0);
  }

 //get the image data
  height    = img->height;
  width     = img->width;
  step      = img->widthStep;
  channels  = img->nChannels;
  data      = (uchar *)img->imageData;
  printf("Processing a %dx%d image with %d channels\n",height,width,channels); 

 //create a window
  cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); 
  cvMoveWindow("mainWin", 100, 100);

 //invert the image
  for(i=0;i

сначала, собирая я получил следующую ошибку

hello-world.c:4:16: fatal error: cv.h: No such file or directory
compilation terminated.

и я исправляю эту ошибку, собирая как это

gcc -I/usr/lib/perl/5.12.4/CORE -o hello-world hello-world.c

Но теперь ошибка

 In file included from hello-world.c:4:0:
/usr/lib/perl/5.12.4/CORE/cv.h:14:5: error: expected specifier-qualifier-list before ‘_XPV_HEAD’
 hello-world.c:5:21: fatal error: highgui.h: No such file or directory
 compilation terminated.

Qns: Это - этот заголовок, не устанавливается в моей системе? В то время как я использую эту команду, находят, что/usr - называют "highgui.h", я не находка ничто Если этот заголовок не находится в моем sysytem hoew, я устанавливаю это?

Пожалуйста, помогите мне. Я новый в opencv

2
nl ja de

2 ответы

Сначала проверьте, существует ли highgui.h на вашей машине:

sudo find /usr/include -name "highgui.h"

Если вы находите, что это на пути позволяет, говорят "/usr/include/opencv/highgui.h" тогда использование:

#include  in your c file.

или

в то время как компилирование вас могло добавить

-I/usr/include/opencv in gcc line 

но тогда ваш включать линию в c файл должен стать:

#include "highgui.h"

если, ваша первая команда терпит неудачу, который является вами, не "находят" highgui.h на вашей машине. Тогда ясно вы пропускаете некоторый пакет. Чтобы выяснить то имя пакета, используйте склонный - находят команду:

sudo apt-find search highgui.h

на моей машине это дало мне это:

libhighgui-dev: /usr/include/opencv/highgui.h
libhighgui-dev: /usr/include/opencv/highgui.hpp

если вы не имеете склонными - находят, тогда устанавливают его сначала, используя:

sudo apt-get install apt-find 

Так, теперь вы знаете имя пакета, затем выходите:

sudo apt-get install libhighgui-dev

как только это сделано, используйте команду находки, чтобы видеть где точно, заголовки, установленный, и затем используйте тогда изменение, включают путь соответственно

4
добавлено

У меня есть следующие заголовки в моем проекте:

#include 
#include 
#include 
#include 
#include 

Версия OpenCV 2.4.2

1
добавлено