imshow img со значениями 0 1 с opencv

У меня есть коврик этого типа

Mat port(M.size(),CV_8UC1);

и внутри у меня есть 2 значения: 0 и 1.

Если я попытаюсь сделать imshow ( " p " , port) ;
img по черному.

Как я могу различить все 0 и 1 двумя разными цветами?

Я пытался и пытался использовать line() но вы уже должны знать две самые близкие точки, в то время как я не знаю, что значения 1 удалены друг от друга.
кто-нибудь может мне помочь?
Кажется, тривиальная проблема

0

Решение

Попробуйте масштабировать ваши данные для отображения: imshow(" p ", port*255);

Серый цвет 1 почти неотличим от полного черного и не будет различим ни на одном обычном мониторе / экране. При масштабировании на 255 эти пиксели выглядят белыми.
Обратите внимание, что масштабирование выполняется только для отображения и не влияет на само изображение.

Посмотри пожалуйста imshow() документы для чего выполняется масштабирование и значения для отображения:

Функция может масштабировать изображение в зависимости от его глубины:

  • Если изображение 8-битное без знака, оно отображается как есть.
  • Если изображение является 16-разрядным беззнаковым или 32-разрядным целым числом, пиксели делятся на 256. То есть диапазон значений [0,255 * 256] отображается на [0,255].
  • Если изображение является 32-битной плавающей точкой, значения пикселей умножаются на 255. То есть диапазон значений [0,1] отображается на [0,255].
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]