二進制與數字圖像
我們在電子設備上看到的圖像,都可以稱為數字圖像,從字面上理解,就是一堆數字組成的圖像。你眼睛看到的是圖像,其實在電腦里面是一堆數字。關於怎么形成數字圖像的,這里面的原理不需要我們去深究。不管圖像是什么格式,bmp,jpg,tiff,png,背后都是一堆數字。
一、二進制和十六進制
一位二進制:0 , 1
一位十進制:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
一位十六進制:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F(A, B, C, D, E, F 分別對應10, 11, 12, 13, 14, 15)大小寫均可
類比十進制的逢十進一,二進制就是逢二進一,十六進制就是逢十六進一,例如:
十進制加法:
1 + 9 = 10 // 逢十進一
二進制加法:
1 + 1 = 10 // 逢二進一
十六進制加法:
1 + F = 10 // 逢十六進一(十進制的15對應十六進制的F)
7 + 9 = 10
二進制與十進制的轉換(了解二進制轉為十進制即可,十六進制轉為十進制同理)
二進制1101,轉為十進制:23x1 + 22x1 + 21x0 + 20x1 = 13 (對應十六進制的D)
二進制1011,轉為十進制:23x1 + 22x0 + 21x1 + 20x1 = 11 (對應十六進制的B)
二進制1111,轉為十進制:23x1 + 22x1 + 21x1 + 20x1 = 15 (對應十六進制的F)
二進制與十六進制的轉換
一位十六進制等價於四位二進制,例如:
十六進制的0,即十進制的0,轉為二進制--> 0000 (當然,寫一個0也是對的,即高位的0是可以不寫的)
十六進制的1,即十進制的1,轉為二進制--> 0001
十六進制的2,即十進制的2,轉為二進制--> 0010
十六進制的3,即十進制的3,轉為二進制--> 0011
十六進制的4,即十進制的4,轉為二進制--> 0100
十六進制的5,即十進制的5,轉為二進制--> 0101
十六進制的6,即十進制的6,轉為二進制--> 0110
十六進制的7,即十進制的7,轉為二進制--> 0111
十六進制的8,即十進制的8,轉為二進制--> 1000
十六進制的9,即十進制的9,轉為二進制--> 1001
十六進制的A,即十進制的10,轉為二進制--> 1010
十六進制的B,即十進制的11,轉為二進制--> 1011
十六進制的C,即十進制的12,轉為二進制--> 1100
十六進制的D,即十進制的13,轉為二進制--> 1101
十六進制的E,即十進制的14,轉為二進制--> 1110
十六進制的F,即十進制的15,轉為二進制--> 1111
那么,多位十六進制轉換為二進制,只需要將每一位十六進制轉為對應的二進制就行了
十六進制數:AF,即十進制的175(16x10 + 15),轉為二進制 --> 1010 1111
十六進制數:13,即十進制的19(16+3),轉為二進制 --> 0001 0011
二、灰度圖
上圖是一副灰度圖(即黑白圖,只包含亮度,沒有色彩)以及對應的部分數字矩陣,電子設備上的圖片就是將這些數字用二維矩陣進行存儲。
上圖的數字矩陣中,一個格子就代表一個像素點,一個像素點的灰度值(即亮度值)由8位二進制(那么,對應就是2位十六進制)數表示(如二進制1000 0000,對應十進制為27=128,對應十六進制為80。1111 1111(等價於二進制減法1 0000 0000 - 1),對應十進制為28-1=255,對應十六進制為FF),灰度值為0即最亮,為純白色,灰度值為255即最暗,為純黑色,灰度值為1~254就是“灰色”(當然,接近0的,肉眼看也是白色,接近255的,肉眼看也是黑色,處於中間的就可以看出是灰色)。
上面的摩托車圖片就是由這樣一個個的像素點組成的,可以猜到,摩托車的車身對應的像素點的灰度值應該會大於200(估計)即“黑色”,牆壁的灰度值應該會在100~200之間即“灰色”,左下角的地面的灰度值應該會小於100即“白色”。
三、彩色圖
首先,我們得知道三原色,紅色、綠色、藍色(英文簡稱RGB),這三種顏色,按照不同的比例混合能夠生成自然界所有的顏色
那么,一副彩色圖片,其實就是由3層數字二維矩陣構成的。
同樣,表示紅色的二維矩陣,每一個值都是一個像素點所對應的紅色分量,0~255即表示這個顏色的亮度,為0亮度最暗,紅色變為黑色;為255亮度最亮,紅色變為白色。
所以,一副彩色圖,每個像素點就是通過三原色對應的二維矩陣的對應位置上的值相疊加而成。
例如:這邊文章的每一個小標題
## <font color=#00bff0>三、彩色圖</font>
##表示這是一個二級標題
color=#00bff0 --> '#'后面的00bff0即RGB的十六進制表示法,R為00, G為bf, B為f0,三種顏色按照這種比例混合即得到了所顯示的"藍色"
你可能會有疑問,如果是這樣設置顏色,那豈不是有很多種?怎么記得住?這些不需要記住,當你以后寫markdown時需要用到設置顏色的時候,你再到網上搜索RGB的十六進制表,找到你喜歡的顏色,一般我們寫markdown都會有自己的風格,例如我的:一級標題不設置顏色,二級標題設置成color=#00bff0,所以你只需要保留你常用的顏色對應的十六進制即可。