Какая разница между значениями cvtype в OPENCV?
Я пробовал много постоянных значений, но я не могу найти разницы между значениями cvtype.
Для чего его используют?
Я пробовал значения типа CV_8UC4
и CV_16S
.
Я не нашел эту информацию в ссылках.
Ответы
Ответ 1
Именование типов для типов CV_<bit-depth>{U|S|F}C<number_of_channels>
.
So CV_8UC4
переводит на: четыре канала без знака char и CV_16S
переводит на: 1 канал подписанного 2-байтового целого.
Конечно, эта тема рассматривается в документации. Здесь вы можете найти более подробную информацию.
Ответ 2
CV_8U - 8-разрядные целые числа без знака (0..255)
CV_8S - 8-разрядные целые числа со знаком (-128..127)
CV_16U - 16-разрядные целые числа без знака (0..65535)
CV_16S - 16-разрядные целые числа со знаком (-32768..32767)
CV_32S - 32-разрядные целые числа со знаком (-2147483648..2147483647)
CV_32F - 32-битные числа с плавающей запятой (-FLT_MAX..FLT_MAX, INF, NAN)
CV_64F - 64-битные числа с плавающей запятой (-DBL_MAX..DBL_MAX, INF, NAN)
8-разрядное целое без знака (uchar)
8-битное целое число со знаком (schar)
16-разрядное целое без знака (ushort)
16-разрядное целое число со знаком (короткое)
32-разрядное целое число со знаком (int)
32-битное число с плавающей запятой (float)
64-битное число с плавающей запятой (double)
enum {CV_8U = 0, CV_8S = 1, CV_16U = 2, CV_16S = 3, CV_32S = 4, CV_32F = 5, CV_64F = 6};
Ответ 3
Чтобы завершить ответ Фаршида Пирахана,
Отображение типа в числа в OpenCV: в табличном формате
или в длинном тексте:
Без знака 8 бит учар 0 ~ 255
Mat: CV_8UC1, CV_8UC2, CV_8UC3, CV_8UC4
8-битный символ со знаком -128 ~ 127
Mat: CV_8SC1,CV_8SC2,CV_8SC3,CV_8SC4
16 бит без знака 0 ~ 65535
Mat: CV_16UC1,CV_16UC2,CV_16UC3,CV_16UC4
16-битная подпись -32768 ~ 32767
Mat: CV_16SC1,CV_16SC2,CV_16SC3,CV_16SC4
Подписано 32bit int -2147483648 ~ 2147483647
Mat: CV_32SC1,CV_32SC2,CV_32SC3,CV_32SC4
Float 32bit float -1.18 * 10-38 ~ 3.40 * 10-38
Mat: CV_32FC1,CV_32FC2,CV_32FC3,CV_32FC4
Двойной 64бит двойной
Mat: CV_64FC1,CV_64FC2,CV_64FC3,CV_64FC4