2013-03-03 2 views
1

мне нужно использовать CvInvert, но у меня есть эта проблема:Сбой cvinvert на IplImage или Мат

OpenCV Error: Assertion failed (src.type() == dst.type() && src.rows == dst.cols && src.cols == dst.rows) in cvInvert, file /opt/local/var/macports/build/_opt_mports_dports_graphics_opencv/opencv/work/OpenCV-2.4.3/modules/core/src/lapack.cpp, line 1738 libc++abi.dylib: terminate called throwing an exception

Это код:

#include <iostream> 
#include <opencv/cv.h> 
#include <stdio.h> 

#include <opencv2/highgui/highgui_c.h> 
#include <opencv2/imgproc/imgproc_c.h> 
#include <opencv2/core/core_c.h> 
#include <opencv2/opencv.hpp> 

using namespace cv; 
using namespace std; 

int main(int argc, const char * argv[]) 
{ 
    CvCapture* capture=cvCreateCameraCapture(0); 
    IplImage* originalImg; 
    cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 640); 
    cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, 480); 
    cvNamedWindow("Imagen"); 

    while (true) { 
     originalImg=cvQueryFrame(capture); 
     cvFlip(originalImg,originalImg,3); 
     IplImage* Gray=cvCreateImage(cvGetSize(originalImg), IPL_DEPTH_8U, 1); 
     cvCvtColor(originalImg, Gray, CV_RGB2GRAY); 

     CvMat* Mat_tipo=cvCreateMat(originalImg->height, originalImg->width, CV_32F); 
     CvMat* Mat_img=cvGetMat(Gray,Mat_tipo); 

     CvMat* Matinvenrt=cvCreateMat(Mat_img->rows, Mat_img->cols, CV_32F); 
     cvInvert(Mat_img, Matinvenrt,CV_LU); 





     cvShowImage("Imagen", Mat_img); 
//  imshow("imagen", img); 
     cvReleaseMat(&Mat_img); 

     int id=cvWaitKey(27); 
     if (id==27) break;  
    } 


} 

Что произойдет ??, Have Cvinvert об ошибке ??

спасибо.

ответ

1
Assertion failed (src.type() == dst.type() 

это ясно видно из кода, что типы Mat не то же самое для Mat_img и Matinvert

+0

Mmmm dude, см. 2 CvMat's типа CV_32F. И я пытаюсь использовать IplImage, и терпеть неудачу тоже. – user2129394

0

Вы уверены, что вы переворачивания квадратную матрицу? У меня была подобная ошибка, и это было потому, что я пытался инвертировать матрицу M-N.

Смежные вопросы