ssovec
-
Количество публикаций
24 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем ssovec
-
-
спасибо
-
Здравствуйте, есть ли в OpenCv возможность настройки подключенной камеры, и если есть как это реализовать? заранее спасибо
-
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
там тоже есть пример вывода видео, правда не помню как именно называется
-
Спасибо большое!
-
-
Подниму старую тему но все же, пытаюсь реализовать код представленный в посте конкретно:
cvReprojectImageTo3D(imageDepth, 3dImage, Q); cvSetImageCOI(3dImage, 3); cvCopy(3dImage, Zimg, 0); dist = cvGetReal2D(Zimg, 160, 120);
opencv ругается что GetReal пожддерживает только однокональные массивы, а теперь вопрос если 3dImage трехканальное то как оно использованно в CvGetReal?
и еще не сочтите за наглость откуда взяты данные для графиков представленных в посте?
-
Здравствуйте, пожалуйста обьясните понятным языком кратко что делают функции GetReal1D,GetReal2D,GetReal3D? Заранее спасибо.
-
Спасибо именно то что нужно.
-
Добрый день с помощью функции vReprojectImageTo3D получил трехканальное изображение. Вопрос такой как бы его просмотреть, с помощью какой программы либо библиотеки? В matLabe как открыть к сожелению не знаю, буду благодарен за ссылку с решением подобной проблемы. Заранее спасибо.
-
Не выходит, при изменении матриц выдает кретическую ошибку выполнения. Но видимо вы правы надо как то привести матрицы к одному типу, буду думать, спасибо.
-
Здравствуйте, я тут уже наверное всех замучал вопросами , но задам еще один. Вызываю функцию 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")); }
-
сам разобрался не было времени написать проблема была именно в этом. спасибо
-
Здравствуйте, читаю xml файл с помощью FileStorage, файла два, первый читается нормально при прочтении второго выдается ошиба duplicate key, что это? и как от этого избавиться? может кто сталкивался, заранее спасибо
-
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); }
- 1
-
спасибо в с++ все работает пока оставлю в с++. беда в том что пытаюсь переписать код в c#, в котором все пишу в основном, вылазиет ошибка Ошибка : Аргументы-типы для метода "OpenCvSharp.CvFileStorage.Read<T>(OpenCvSharp.CvFileNode)" не должны определяться по использованию. Попытайтесь явно определить аргументы-типы/ целый день бьюсь не могу не чего найти по этой ошибке. видимо придется оставить все в с++. спасибо за код.
-
вот файл буду очень благодарен, все уже прочитал вроде понятно, но студия ругается постоянно на ошибки.
-
CvFileStorage fs = Cv.OpenFileStorage(cameraLeft, null, FileStorageMode.Read);
CvFileNode objectMatrix = Cv.GetFileNodeByName(fs, null, "objectPoints");
CvMat objectPoints = (CvMat)Cv.Read(fs, objectMatrix);
вот так пытаюсь читать, но выдает ошибку где я не прав понять не могу
-
как я понимаю читается с помощью функции cvRead, проблема в том что в моем файле хранится несколько матриц сразу и я не могу понять как прочитать имеено ту которую мне нужно в данный момент.
-
Помогите пожалуйста есть xml файл в котором хранится несколько матриц типа CvMat, как их считать? не как не могу понять желательно на c#. заранее спасибо
-
Т.е. я так понимаю, ты задачу стереосопоставления точек уже решил?
Я в стереозрении новичек, но решил задачи калибровки камер, и стерео-калибровки, я так понимаю что задача сопоставления решена, хотя могу ошибаться так как в том алгоритме, что есть у меня еще проводится поиск эпиполярных линий, вот эту задачу не решал, но знаю что в openCV она решаема, а вот как от эпиполярных линий перейти к поиску координат?
-
Здравствуйте, кто сталкивался с реализацией нахождения трехмерных координат точек с помощью пары камер?
Решил такие задачи: калибровку двух камер сделал, стерео-калибровку сделал, читал что дальше можно вычислять координаты, а вот как я не нашел, если кто знает помогите пожалуйста.
Параметры FindCorrespondenceGC
в OpenCV
Опубликовано · Report reply
Здравствуйте, кто знает какие параметры NumberOfDisparities и maxIters следует использовать при расчете карты глубины? стандартный пример нормально получается только со стандартной же картинкой