Перейти к содержимому
Compvision.ru
BriGaDir

Input must be 8uC1 ....

Recommended Posts

Как с этим бороться???

Сегодня первый день как начал работать с OpenCV ... не могу иправить ошибку ... код компилится но после загрузки картинки выдает ошибку ...

Судя по все картинки перед тем как передавать в функция cvCornerHarris() надо как то конвертнуть, а теперь внимание вопрос ...как????

IplImage *img;

IplImage *img1;

img = cvLoadImage( OpenDialog1->FileName.c_str() , 1 );

img1 = cvCloneImage( img );

cvCornerHarris( img, img1, 10, 3, 0.04 );

cvNamedWindow( "original", 1 );

cvShowImage( "original", img1 );

post-2041-0-32735000-1297471543_thumb.jp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
img = cvLoadImage( OpenDialog1->FileName.c_str() , 0);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за ответ! Но ошбка осталась, при загрузке *.bmp файла вылетает таже оштбка, при зарузке *.jpg -

post-2041-0-50236600-1297513317_thumb.jp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При выполнении какой строки появляется ошибка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Выходной параметр должен быть матрицей с типом CV_32FC1 (то есть обычный float). Создай её и подавай вместо img1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах


   if( OpenDialog1->Execute() )

   {

      IplImage *img;

      img = cvLoadImage( OpenDialog1->FileName.c_str() , 0 );

      float *imege1;

      imege1 = new float [ img->width * img->height ];

      cvCornerHarris( img, imege1, 10, 3, 0.04 ); // вот на этой строке вылетает ошибка ...

      cvNamedWindow( "original", 1 );

      cvShowImage( "original", imege1 );

   }

В результате выполнения вылетает ошибка ...

post-2041-0-17725300-1297586286_thumb.jp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Матрицей, значит, типа CvMat, созданной с помощью функции cvCreateMat.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Юзаю openCV1.1pre1 прикрученную к C++Builder 6.

Помогите исправить ошибку ....

CvMemStorage* storage = cvCreateMemStorage(0);

   Memo2->Clear();

   IplImage* object = cvLoadImage( LeftImage.Name.c_str(), CV_LOAD_IMAGE_GRAYSCALE );

   IplImage* image = cvLoadImage( RightImage.Name.c_str(), CV_LOAD_IMAGE_GRAYSCALE );

   if( !object || !image )

   {

      Memo2->Lines->Add( "Error! Ïðè çàãðóçêå èçîáðàæåíèé ïðîèçîøëà îøèáêà!" );

      return;

   }

   cvNamedWindow( "Object", 1 );

   cvShowImage( "Object", object );


   IplImage* object_color = cvCreateImage(cvGetSize(object), 8, 3);  // методом коментирования кода 

                                                                     // была вычислина строка к которой ошибка

                                                                     // ( скрин ошибки приведен ниже )

   cvCvtColor( object, object_color, CV_GRAY2BGR );


   CvSeq *objectKeypoints = 0, *objectDescriptors = 0;

   CvSeq *imageKeypoints = 0, *imageDescriptors = 0;

post-2041-0-92999300-1299079577_thumb.jp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

cvGetSize(object) не работает скорее всего.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×