Пользователи OpenCV знают, что cvRemap используется для выполнения геометрических преобразований. Аргументы mapx и mapy представляют собой структуры данных, которые дают отображение информации в целевом изображении. Могу ли я создать две целые массивы, содержащие случайные значения от 1 до 1024 или от 1 до 768 , если я имею дело с изображениями (1024 X 768) А затем сделайте mapx и mapy присвоенными этими значениями? А затем использовать их в cvRemap()? Выполняет ли это задание или единственный способ использовать mapx и mapy получает значение, назначенное с помощью функции cvUndistortMap()? Я хочу знать, потому что хочу деформировать изображения. На всякий случай, чтобы сообщить вам, что я уже проверил Изучение OpenCV книги тоже.Может ли кто-нибудь объяснить cvRemap с кодом с использованием cvRemap в OpenCV?
1
A
ответ
1
Я использую cvR-карту для применения коррекции искажений. Часть map_x находится в разрешении изображения и сохраняет для каждого пикселя смещение x для применения, в то время как map_y - то же самое для y-offset.
в случае undistortion
# create map_x/map_y
self.map_x = cvCreateImage(cvGetSize(self.image), IPL_DEPTH_32F, 1)
self.map_y = cvCreateImage(cvGetSize(self.image), IPL_DEPTH_32F, 1)
# I know the camera intrisic already so create a distortion map out
# of it for each image pixel
# this defined where each pixel has to go so the image is no longer
# distorded
cvInitUndistortMap(self.intrinsic, self.distortion, self.map_x, self.map_y)
# later in the code:
# "image_raw" is the distorted image, i want to store the undistorted into
# "self.image"
cvRemap(image_raw, self.image, self.map_x, self.map_y)
Поэтому: значений map_x/map_y являются плавающей точкой и в разрешении изображения, как два изображения в 1024x768. Что происходит в cvRemap в основном что-то вроде
orig_pixel = input_image[x,y]
new_x = map_x[x,y]
new_y = map_y[x,y]
output_image[new_x,new_y] = orig_pixel
Какие геометрические преобразования вы хотите сделать с этим?
Смежные вопросы
- 1. OpenCV cvRemap Cropping Image
- 2. OpenCv cvRemap с переменным изображением «subregion»
- 3. cvUndistort2() и cvRemap() crash
- 4. Может кто-нибудь объяснить, что происходит с этим кодом unique_ptr?
- 5. Может кто-нибудь объяснить, что происходит с этим кодом?
- 6. Может кто-нибудь объяснить, что не так с этим кодом?
- 7. Может кто-нибудь объяснить, что не так с моим кодом?
- 8. Кто-то может объяснить, что происходит с кодом?
- 9. Может ли кто-нибудь объяснить часть этого opencv-кода мне?
- 10. Как скомпилировать программу с использованием OpenCV 2.4.3 с кодом :: Блоки?
- 11. Проблемы с открытым кодом OpenCV
- 12. Проблема с открытым кодом OpenCV
- 13. Можете ли некоторые объяснить строковые литералы мне с предоставленным кодом?
- 14. Может ли кто-нибудь объяснить мне работу с кодом? Этот код должен печатать реверс ряда
- 15. Может ли кто-нибудь объяснить, как работают массивы внутри объектов? Что не так с этим кодом?
- 16. Может кто-то объяснить о detectMultiScale в OpenCV
- 17. , работающий с исходным кодом библиотеки C++ (opencv)
- 18. Undistorting/выпрямить изображения с OpenCV
- 19. opencv InitUndistortRectifyMap размер карты
- 20. Может кто-нибудь объяснить документацию OpenCV для cvPtr D
- 21. Стереокалибровка OpenCV (вопросы с кодом кода)
- 22. Распознавание лиц с использованием Opencv
- 23. OpenCV: Объединение двух изображений с использованием OpenCV
- 24. с использованием IPL_DEPTH_32f в Opencv
- 25. что не так с этим opencv кодом
- 26. Обнаружение дорожного знака с открытым кодом OpenCV
- 27. Понимание кода OpenCV с кодом stereo_match.py
- 28. Что не так с этим кодом OpenCv?
- 29. Как скомпилировать Opencv с кодом Visual Studio?
- 30. Ошибка в обнаружении движения с использованием opencv