OpenCV необходимо преобразовать IPL_DEPTH_32S в IPL_DEPTH_32F

StackOverflow https://stackoverflow.com/questions/882066

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top