Matlab imshow опускает NaN

Я использую imshow() для визуализации данных, полученных из разницы двух изображений в оттенках серого. Изображения маскируются, т. Е. Каждый пиксель, лежащий под «маской», имеет значение NaN . Данные представлены parula . Проблема в том, что imshow() обрабатывает NaN как ноль, и поэтому маскированные пиксели представлены как синие. Есть ли простой способ опустить замаскированные пиксели или отображать их в цвете, который не является частью цветовой карты (например, белый, серый или черный)?

Я бы предпочел, чтобы решение основывалось на imshow() поскольку было бы проще включить в мой код. Однако также будут оценены решения с использованием pcolor , pcolor и т.п.

Вы можете установить AlphaData объекта изображения равным ~isnan(data) таким образом, чтобы NaN отображались как прозрачные значения.

 R = rand(10); R(R < 0.25) = NaN; him = imshow(R, 'InitialMagnification', 10000); colormap parula set(him, 'AlphaData', ~isnan(R)) 

введите описание изображения здесь

Если вам нужен определенный цвет, вы можете включить оси и установить цвет осей как любой цвет, который вы хотите, чтобы значения NaN были.

 axis on; % Make a red axis set(gca, 'XColor', 'none', 'yColor', 'none', 'xtick', [], 'ytick', [], 'Color', 'r') 

введите описание изображения здесь

Если вы используете pcolor , значения NaN уже рассматриваются как прозрачные.

  • Полученные на основе контента графические изображения и диаграммы точности-повторения с использованием цветовых гистограмм в MATLAB
  • Выполнение cv :: warpPerspective для подделки на наборе cv :: Point
  • Как поворачивать изображения JPEG на основе метаданных ориентации?
  • Как я могу выполнять эти задачи обработки изображений с помощью шейдеров OpenGL ES 2.0?
  • Автоматический расчет низких и высоких порогов для операции Canny в opencv
  • Как определить текстовую область из изображения?
  • OpenCV C ++ / Obj-C: Обнаружение листа бумаги / Квадратное обнаружение
  • Создание моего собственного приложения для фото-мозаики с Qt с использованием C ++
  • Компиляция libjpeg
  • Ширина windows и расчет центра изображения DICOM
  • Загрузите все изображения из каталога
  • Interesting Posts

    Эффективный выбор набора случайных элементов из связанного списка

    Загрузите EXE-файл и запустите его из памяти

    Как получить цветовые вариации

    Ffmpeg: Как выбрать конкретный шаблон кадров из потока?

    Как исключить все случаи транзитивной зависимости при использовании Gradle?

    Существует ли в Java обычная библиотека рациональных чисел?

    CSV парсер / считыватель для C #?

    Выборочно маршрутизируя трафик через Ethernet или Wi-Fi, с надлежащим DNS (Mac OS X 10.6)

    IEqualityComparer , который использует ReferenceEquals

    Как отключить сертификат «Это соединение без доверия» в FireFox?

    100% -ное использование диска – ноутбук постоянно замерзает, когда он всплескивает

    Почему DispatcherServlet создает другой контекст приложения?

    В чем преимущество linspace над двоеточием: «оператор?

    Изменить текстовый редактор по умолчанию для crontab на vim

    Почему по умолчанию отключена аппаратная виртуализация?

    Давайте будем гением компьютера.