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

ProgRoman

Пользователи
  • Количество публикаций

    190
  • Зарегистрирован

  • Посещение

  • Days Won

    7

Сообщения, опубликованные пользователем ProgRoman


  1. Всем привет, возникла трудность с вычислением меры Махалонобиса вообщем вот

    double rt = Mahalanobis(test1,test2,icovr);

    ну и выдаёт он мне для меня не понятный результат -1.#IND раньше никогда не встречал его, в интернете поискал не нашёл ковариационную матрицу вроде бы считает.. вообщем может кто сталкивался подскажите плиз что делать как быть))


  2. Всем привет, такой вопрос в OpenCV случайно нету перемножения матриц нормального не покомпонентного а как в матричной алгебре а то для реализации алгоритмов нужно, сам реализовал, но думаю может всё таки есть было бы удобнее конечно


  3. ошибка следующая

    Необработанное исключение в "0x004737ff (msvcr100d.dll)" в "testApp.exe": 0xC0000005: Нарушение прав доступа при чтении "0x6a2e3630".

    77 строка fopen.c

    там

    
    if(*file==_T('\0'))
    
            {
    
                errno=EINVAL;
    
                return NULL;
    
            }
    
    
    /* open the stream */
    
    
    вот то, что изображение не там я это тоже так думал..., но изображение у меня в исполняемой папке поэтому просто пишу имя рисунка и его расширение, ну как обычно подобный синтаксис для С всё ок
    
    IplImage *img1 = cvLoadImage("photo.jpg",CV_LOAD_IMAGE_COLOR);
    
    cvNamedWindow("Image:");
    
    cvShowImage("Image:",img1);
    
    cvWaitKey(0);
    
    cvReleaseImage(&img1);
    
    cvDestroyWindow("Image:");
    
    
    это Сишный синтаксис он всё нормально работает и в 8 и в 10 студии, но сами разработчики Opencv говорят, что начиная с версии 2.2 они более поддерживают С++ ну и рекомендуют использовать его а не сишный функции вот собственно, что меня и с подвигло на разбирание в немного отличающемся синтаксисе
    
    Mat im = imread("photo.jpg",CV_LOAD_IMAGE_COLOR);
    
    imshow("img:",im);
    
    waitKey(0);
    
    
    это уже С++-ный синтаксис, выигрыш в размере кода конечно очевиден, но у меня он только в 8 студии работает в 10 вообще ни в какаю, пробовал разные перегруженные конструкторы к примеру
    
    IplImage *img1 = cvLoadImage("photo.jpg",CV_LOAD_IMAGE_COLOR);
    
    Mat im(img1)
    
    

    но и это тоже оказалось не лучше всегда исключение 77 строка fopen.c


  4. Подскажите, что за ошибка и как исправить, начал работать в 10 студии и простейший код просто загрузки изображения выдаёт исключения..

    
    #include <cv.h>
    
    #include <cxcore.h>
    
    #include <highgui.h>
    
    
    using namespace std;
    
    using namespace cv;
    
    
    int _tmain(int argc, _TCHAR* argv[])
    
    {		
    
    	Mat im = imread("photo.jpg",CV_LOAD_IMAGE_COLOR);	
    
    	return 0;
    
    }
    
    

    в 2008 студии работает..


  5. 
    Image<Bgr, byte> img = new Image<Bgr, byte>(filename);//это эталонное изображение
    
    Image<Bgr, byte> cpimg = new Image<Bgr, byte>(width, height);//это изображение с измененными размерами
    
    
    далее возник вопрос каким образом передать само изображение я сделал следующее..
    
    cpimg.Data = img.Data;
    
    cpimg.Resize(2, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR);
    
    

    но картинка установила свои размеры по умолчанию для cpimg... и в cpimg.Resize(..., Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR); не ясный параметр double scale понятно что он вроде бы должен изменять масштаб, но не ясно каким его нужно задавать пробовал и 1 и 2, разницы не заметил никакой...


  6. Всем привет у меня возник такой вопрос как можно изменить размер изображения в пишу на C# с Emgu в C++ я делал так

    
    IplImage *img = cvLoadImage(filename_img.c_str());
    
    IplImage *cpimg = cvCreateImage(cvSize(width,height),img->depth,img->nChannels);
    
    cvResize(img, cpimg, CV_INTER_LINEAR);
    
    cvSaveImage(filename_img.c_str(), cpimg, 0);
    
    

    в C# же подобным образом у меня не получилось

×