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

ssovec

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

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

  • Посещение

Все публикации пользователя ssovec

  1. Параметры FindCorrespondenceGC

    Здравствуйте, кто знает какие параметры NumberOfDisparities и maxIters следует использовать при расчете карты глубины? стандартный пример нормально получается только со стандартной же картинкой
  2. Настройки web-камеры

    Здравствуйте, есть ли в OpenCv возможность настройки подключенной камеры, и если есть как это реализовать? заранее спасибо
  3. Настройки web-камеры

    спасибо
  4. Вывести видео файл на C#

    A тебе именно с помощью OpenCv надо? Посмотри AForge бибилотеку там можно скачать архив с примерами, в папке Video есть пример воспроизведения видео файлов. http://www.aforgenet.com/framework/downloads.html Вот вывод видео с помощью OpenCv http://robocraft.ru/blog/computervision/270.html там правда С++, но скачай OpenCvSharp вот отсюда http://code.google.com/p/opencvsharp/downloads/list там тоже есть пример вывода видео, правда не помню как именно называется
  5. Стерео зрение

    Спасибо большое!
  6. Здравствуйте, пожалуйста обьясните понятным языком кратко что делают функции GetReal1D,GetReal2D,GetReal3D? Заранее спасибо.
  7. Стерео зрение

    Подниму старую тему но все же, пытаюсь реализовать код представленный в посте конкретно: cvReprojectImageTo3D(imageDepth, 3dImage, Q); cvSetImageCOI(3dImage, 3); cvCopy(3dImage, Zimg, 0); dist = cvGetReal2D(Zimg, 160, 120); opencv ругается что GetReal пожддерживает только однокональные массивы, а теперь вопрос если 3dImage трехканальное то как оно использованно в CvGetReal? и еще не сочтите за наглость откуда взяты данные для графиков представленных в посте?
  8. Добрый день с помощью функции vReprojectImageTo3D получил трехканальное изображение. Вопрос такой как бы его просмотреть, с помощью какой программы либо библиотеки? В matLabe как открыть к сожелению не знаю, буду благодарен за ссылку с решением подобной проблемы. Заранее спасибо.
  9. Спасибо именно то что нужно.
  10. Здравствуйте, я тут уже наверное всех замучал вопросами , но задам еще один. Вызываю функцию StereoRectify() , она выдает ошибку All the matrices must have the same data type. Искал в интернете не у одного меня такая ошибка, но ни кто не чего дельного по ее исправлению не пишет, в чем может быть проблема? код ниже. public static void StereoCalibration1() { int ImageNum = 3; CvMat R = new CvMat(3, 3, MatrixType.F32C1); CvMat T = new CvMat(3, 1, MatrixType.F32C1); CvMat Q = new CvMat(4, 4, MatrixType.F32C1); CvMat R1 = new CvMat(3, 3, MatrixType.F32C1); CvMat R2 = new CvMat(3, 3, MatrixType.F32C1); CvMat P1 = new CvMat(3, 4, MatrixType.F32C1); CvMat P2 = new CvMat(3, 4, MatrixType.F32C1); IplImage[] srcImg = new IplImage[ImageNum]; for (int i = 0; i < ImageNum; i++) { srcImg[i] = new IplImage(string.Format("Data/Calibration/Right/{0:D2}.jpg" , i) , LoadMode.Color); } CvSize imageSize = srcImg[0].Size; CvMat intrinsic_left, intrinsic_right, distortion_left, distortion_right, imagePoints_left, imagePoints_right, objectPoints, pointsCount; objectPoints = Cv.Load<CvMat>("objectPoints_left.xml"); imagePoints_left = Cv.Load<CvMat>("imagePoints_left.xml"); imagePoints_right = Cv.Load<CvMat>("imagePoints_right.xml"); pointsCount = Cv.Load<CvMat>("pointsCount_left.xml"); intrinsic_left = Cv.Load<CvMat>("intrinsic_left.xml"); intrinsic_right = Cv.Load<CvMat>("intrinsic_right.xml"); distortion_left = Cv.Load<CvMat>("distortion_left.xml"); distortion_right = Cv.Load<CvMat>("distortion_right.xml"); Cv.StereoCalibrate(objectPoints, imagePoints_left, imagePoints_right, pointsCount, intrinsic_left, distortion_left, intrinsic_right, distortion_right, imageSize, R, T); Cv.StereoRectify(intrinsic_left, intrinsic_right, distortion_left, distortion_right, imageSize, R, T, R1, R2, P1, P2, Q); using (CvFileStorage fs = new CvFileStorage("stereo_calibration.xml" , null , FileStorageMode.Write)) { fs.Write("stereo_rotation", R); fs.Write("stereo_translation", T); fs.Write("disparity_matrix", Q); fs.Write("rectification1", R1); fs.Write("rectification2", R2); fs.Write("projection1", P1); fs.Write("projection2", P2); }; Cv.Save(R, "stereo_rotation.xml"); Cv.Save(T, "stereo_translation.xml"); Cv.Save(Q, "disparity_matrix.xml"); Cv.Save(R1, "rectification1.xml"); Cv.Save(R2, "rectification2.xml"); Cv.Save(P1, "projection1.xml"); Cv.Save(P2, "projection2.xml"); foreach (IplImage img in srcImg) { img.Dispose(); } Console.WriteLine(File.ReadAllText("stereo_calibration.xml")); }
  11. Не выходит, при изменении матриц выдает кретическую ошибку выполнения. Но видимо вы правы надо как то привести матрицы к одному типу, буду думать, спасибо.
  12. FileStorage duplicate key что делать

    Здравствуйте, читаю xml файл с помощью FileStorage, файла два, первый читается нормально при прочтении второго выдается ошиба duplicate key, что это? и как от этого избавиться? может кто сталкивался, заранее спасибо
  13. FileStorage duplicate key что делать

    сам разобрался не было времени написать проблема была именно в этом. спасибо
  14. Помогите пожалуйста есть xml файл в котором хранится несколько матриц типа CvMat, как их считать? не как не могу понять желательно на c#. заранее спасибо
  15. Smorodov, спасибо во всем разобрался. выкладываю код на c# вдруг кто-нибудь будет тоже искать. код читает параметр intrinsic из того файла что я выкладывал CvMat intrinsic_left, distortion_left; using (CvFileStorage fs = new CvFileStorage(cameraLeft, null, FileStorageMode.Read)) { CvFileNode param = fs.GetFileNodeByName(null, "intrinsic"); intrinsic_left = fs.Read<CvMat>(param); }
  16. спасибо в с++ все работает пока оставлю в с++. беда в том что пытаюсь переписать код в c#, в котором все пишу в основном, вылазиет ошибка Ошибка : Аргументы-типы для метода "OpenCvSharp.CvFileStorage.Read<T>(OpenCvSharp.CvFileNode)" не должны определяться по использованию. Попытайтесь явно определить аргументы-типы/ целый день бьюсь не могу не чего найти по этой ошибке. видимо придется оставить все в с++. спасибо за код.
  17. вот файл буду очень благодарен, все уже прочитал вроде понятно, но студия ругается постоянно на ошибки. camera_left.xml
  18. CvFileStorage fs = Cv.OpenFileStorage(cameraLeft, null, FileStorageMode.Read); CvFileNode objectMatrix = Cv.GetFileNodeByName(fs, null, "objectPoints"); CvMat objectPoints = (CvMat)Cv.Read(fs, objectMatrix); вот так пытаюсь читать, но выдает ошибку где я не прав понять не могу
  19. как я понимаю читается с помощью функции cvRead, проблема в том что в моем файле хранится несколько матриц сразу и я не могу понять как прочитать имеено ту которую мне нужно в данный момент.
  20. Здравствуйте, кто сталкивался с реализацией нахождения трехмерных координат точек с помощью пары камер? Решил такие задачи: калибровку двух камер сделал, стерео-калибровку сделал, читал что дальше можно вычислять координаты, а вот как я не нашел, если кто знает помогите пожалуйста.
  21. Я в стереозрении новичек, но решил задачи калибровки камер, и стерео-калибровки, я так понимаю что задача сопоставления решена, хотя могу ошибаться так как в том алгоритме, что есть у меня еще проводится поиск эпиполярных линий, вот эту задачу не решал, но знаю что в openCV она решаема, а вот как от эпиполярных линий перейти к поиску координат?
×