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
你如果想要0和1的話,直接將讀入的影象im2double下,結果如下:
1 1 1 1 1 1 1 1 1 1 1
如果你將a轉化成uint8型,再儲存,結果如下:
a=uint8(a)
a =
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 =
0 0 0 0 0 0 0 0 0 0 0%%讀入的d也為uint8型
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型