2015-02-27 2 views
1

Я ищу для создания двоичного изображения в OpenCV, где все значения инициализированы на 0. Я хочу иметь размеры 2000x800.OpenCV Пустое двоичное изображение C++

До сих пор у меня есть:

Mat canvas(2000, 800, 1) 

Но я хочу, так что значения каждого пикселя может быть только ноль или один.

С уважением.

ответ

3

OpenCV не поддерживает битовые т.е. Мэта из глубины 1 бит. В этом есть здравые рассуждения; работа на битполях заметно медленнее, потому что бит не является внутренним типом работы для аппаратного обеспечения. Поэтому Getpixel и setpixel потребуют дополнительных операций.

Mat canvas = Mat::zeros(800,600,CV_8UC1); 

Будет создавать нуль-инициализированное изображение глубины 8 бит; 7 бит будут потрачены впустую.

+0

Блестяще благодарим вас! –

0

С its documentation, вы можете объявить:

Mat canvas(2000, 800, 1, Scalar(0)); 

инициировать и заполнить холст с 0.

+0

Это также работает спасибо! –

Смежные вопросы