OpenCV необходимо преобразовать IPL_DEPTH_32S в IPL_DEPTH_32F
-
22-08-2019 - |
Вопрос
У меня есть изображение IPL_DEPTH_32S (это означает, что я использую 32-битное целое число для представления пикселей), и мне нужно преобразовать его в IPL_DEPTH_32F, чтобы я мог применить сопоставление с шаблоном.Кто-нибудь знает формулу для преобразования целых чисел в числа с плавающей точкой или какие-либо функции, встроенные в OpenCV, которые могут это сделать?
Решение
Я не думаю, что в opencv есть такая функция.
Самый простой способ сделать это - создать новое изображение IPL_DEPTH_32F точно такого же размера, как ваше изображение IPL_DEPTH_32S.Затем выполните цикл по всем пикселям в обоих изображениях и для каждой пиксельной копии преобразуйте целочисленный пиксель в пиксель с плавающей точкой.
Другие советы
Вы можете просто использовать "cvConvertImageScale()", чтобы изменить IPL_DEPTH_32S на IPL_DEPTH_32F.