У меня очень короткий вопрос по imshow в MATLAB.
в чем разница между imshow(pic)
и imshow(pic,[])
? когда я должен использовать imshow(pic,[])
?
У меня очень короткий вопрос по imshow в MATLAB.
в чем разница между imshow(pic)
и imshow(pic,[])
? когда я должен использовать imshow(pic,[])
?
С веб-сайта Mathwork (см. здесь в разделе DisplayRange
) :
Отобразите диапазон изображения в градациях серого в виде двухэлементного вектора [LOW HIGH]. imshow отображает значение low (и любое значение меньше low) черным цветом, а high значение (и любое значение больше high) белым цветом. Значения между ними отображаются как промежуточные оттенки серого с использованием количества уровней серого по умолчанию. Если вы укажете пустую матрицу ([]), imshow использует [min(I(:)) max(I(:))]; то есть используйте минимальное значение в I как черный, а максимальное значение как белый.
Предположим, у вас есть изображение с наименьшим значением 230 и наибольшим значением 255, и если вы сделаете imshow(img)
, будет предполагаться, что наименьшее из отображаемых изображений равно 0
, а максимальное — 255
, так что вы получите (почти ) белое изображение. С другой стороны, если вы делаете imshow(img,[])
, вы говорите MATLAB настроить минимум и максимум отображаемого изображения в соответствии с минимальным и максимальным значениями изображения. Следовательно, в приведенном выше примере вызов imshow(img,[])
эквивалентен вызову imshow(img,[230 255])
. Это позволит вам увидеть промежуточные оттенки серого.