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