日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB显示图像为什么一片白

發(fā)布時間:2023/12/14 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB显示图像为什么一片白 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MATLAB顯示圖像為什么一片白

  • imshow
  • 錯誤使用
  • 其他

by HPC_ZY

經(jīng)常有朋友問,為什么我imshow出來的圖一片白,我這明明是灰度圖的。
這是因為沒弄好圖片的類型。

imshow

這個函數(shù)能顯示兩大類型的圖像

  • 整形,最常見 uint8
  • 非整形,最常見double
  • 當圖像為uint8類型時,其支持范圍 0~255
    當圖像為double類型時,其支持范圍 0~1(大于1的為白色,小于0的為黑色)

    錯誤使用

  • 把uint8的圖像轉(zhuǎn)為double后直接顯示,問題代碼如下
  • %% 問題代碼 im = imread('*.*'); im = double(im); imshow(im)

    所有大于1的像素就都為白色了,這也是最最最常見的錯誤。
    如果就想轉(zhuǎn)為double,同時還想顯示,解決方法如下

    %% 解決方法 im = imread('*.*'); im = double(im)/255; imshow(im)或 im = imread('*.*'); im = im2double(im); imshow(im)
  • 把已經(jīng)歸一化的圖像轉(zhuǎn)為uint8后直接顯示,問題代碼如下
  • %% 問題代碼 im = imread('*.*'); im = mat2gray(im); % 歸一化 im = uint8(im) imshow(im)

    最大的值才1,整個圖像都黑了,這也第二類的錯誤。
    如果需要這么轉(zhuǎn),解決方法如下

    %% 解決方法 im = imread('*.*'); im = mat2gray(im); % 歸一化 im = uint8(im*255) imshow(im)

    其他

  • 所以使用imshow前,需要核對圖像的類型。有必要的時候還可以在工作區(qū)點開矩陣看看,里面都是些什么值。
  • 有時不想去費心思,也可以使用imagesc()代替imshow()。
  • 總結(jié)

    以上是生活随笔為你收集整理的MATLAB显示图像为什么一片白的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。