回覆列表
  • 1 # 健康達人小萍兒

    a矩陣中的值是0和1,不知道是什麼型別,如果是double型的話你把它轉化成uint8的話,那就是它的灰度值就是0和1,你儲存後顯示當然是黑色;如果是uint8型的話,灰度值0-255,那麼0和1肯定是黑色。

    我在matlab中輸入a矩陣,系統認為它是double型,imwrite(a,"a.bmp");讀入儲存後的影象如下:

    255 255 255 255 255 255 255 255 255 255 255

    0 0 0 0 0 0 0 0 0 0 0

    255 255 255 255 255 255 255 255 255 255 255

    0 0 0 0 0 0 0 0 0 0 0

    255 255 255 255 255 255 255 255 255 255 255

    0 0 0 0 0 0 0 0 0 0 0

    你如果想要0和1的話,直接將讀入的影象im2double下,結果如下:

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0

    如果你將a轉化成uint8型,再儲存,結果如下:

    a=uint8(a)

    a =

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0%%轉化後,灰度值就為0和1,顯示a肯定為全黑

    >> imwrite(a,"a.bmp")

    >> d=imread("D:\Program Files\work\a.bmp")

    d =

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0

    1 1 1 1 1 1 1 1 1 1 1

    0 0 0 0 0 0 0 0 0 0 0%%讀入的d也為uint8型

  • 中秋節和大豐收的關聯?
  • 為什麼離合器踩下的時候會有異響?