在純100%不壓縮的情況下,一張1300萬像素的照片佔用多大內存?

珂珂346


答:對於一張1300萬像素的24位圖,在100%不壓縮的情況下,所佔內存大約是37.2M。


其中涉及計算機的儲存原理,和色彩空間的相關知識;一般的手機直出圖片,都是JPG格式,該格式的壓縮比很大,如果採用RGB模式記錄每個像素,每個像素就有2^24=1677.7 萬種色彩。

在計算機中,每個比特(bit)表示二進制的“0”或者“1”:

(1)定義8個比特為一個字節,即1byte=8bit;

(2)1024(2^10)個字節為千字節,即1KB=1024byte;

(3)1024千字節為兆字節,即1MB=1024KB;

對於24位深度的圖片,相當於用24個比特(3字節)長度來記錄一個像素,每8個字節記錄每個像素中的一種顏色(R、G、B)。

於是一張1300萬像素,完全沒有壓縮的照片,所佔內存為:

130000000*24bit=130000000*3byte

=39000000字節=37.19MB;

算上圖片格式的開頭信息,大概就是37.2M。


在各種圖片格式中,BMP格式是Windows操作系統的標準圖片格式,該格式就是100%沒有壓縮的位圖,比如下面這張4000*3250(1300萬像素)的24位BMP圖片:


所佔內存就是39059456字節(37.2MB),如果儲存為JPG格式,圖片壓縮質量較高的情況下,所佔內存只有3.5MB,看來JPG格式的壓縮比還是挺高的。


我的內容就到這裡,喜歡我們文章的讀者朋友,記得點擊關注我們——艾伯史密斯!


艾伯史密斯


我是用手機拍攝的,採用OPPOA57(別笑話,怎麼用這麼低端的手機攝影,哈哈)後置攝像頭(1300萬像素)拍攝後,顯示尺寸:3455*4608,大小:2.99MB。(見下圖數據)

但文件後綴名顯示.jpg字樣,說明保存在手機裡的圖片也是被壓縮了的。


上面這張圖片是採用OPPOA57前置攝像頭高清模式(5000萬像素)拍的,拍攝後顯示尺寸:8320*6240,大小:15.13MB。(見下圖,這當然不是原圖了,15MB的圖片是無法上傳的)

當然,平常我一般都是採用前置攝像頭5000萬像素(有這麼大嗎???)拍攝,如果要發佈圖集的話,一般都會把這十幾MB的圖片壓縮在5MB以下,才能上傳上去。


好了,今天的話題,就先談到這。

附錄:存儲單位換算表

1G=1024MB(兆)

1MB=1024KB

1KB=1024B(字節)

1TB=1024G


漢上生活圈


當我們把一張非純色圖片放大到無法放大時,我們可以看到的是有很多顏色不同的方塊組成的,一個方塊就代表圖片中的一個像素點,由於被放大了我們才看到了單個的像素點!!




計算機時一種處理數字信號的設備,他能處理的只能是0和1兩個二進制數!在計算機的世界裡任何的圖片,視頻,文件都是以二進制存儲表示的!實際上面的一個個方塊也就是像素是由稱為三原色的紅綠藍按照不同的亮度配比出來的,千千萬萬不同顏色的像素就組成了的圖片!



三原色中每一個顏色用8位二進制數表示,紅綠藍就是24位二進制數!一個二進制數是1比特(bit),8個二進制數等於一個字節(Byte)!!

1MB=1024KB

1KB=1024Byte

我們來算下1300萬像素的圖片可以有多大?

13000000*3=39,000,000字節÷1024÷1024=37.1932983M

也就是說在100%不壓縮的情況下,一張有1300萬像素的圖片大小是37.2MB!但實際我們無論是網上的圖片還是我們自己拍攝的圖片並沒有這麼大,是因為他們都是被壓縮成為了JPG格式的圖片!!因為原始圖片過於龐大,網路傳輸並不快速!存儲也很費空間!


風來了156


都回答什麼跟什麼,樓主是問不壓縮的情況下1300萬像素的圖片有多大。

首先不壓縮的情況下可以忽略圖片格式,假設圖片色彩深度是24位。那麼就可以計算出1300萬個像素點,佔用多大空間。

計算機裡1字節=8位,那麼24位=3字節。

每個像素佔用3字節的空間,1300萬像素佔用1300萬X3字節=3900萬字節(bit)≈37.19兆字節(Mb)。

一張圖片不壓縮就這麼算。


要怎麼理解呢?

我們先了解像素是怎樣組成圖片的。看看這張圖。這張圖片是放大的,放大到能看到單個像素,一個小框框代表一個像素。

一個像素用24位二進制表示顏色。轉換成十進制就是16,777,216種顏色。幾千幾百萬個像素點,就能組成我們現在看到的任何圖片。

再細化,就是顯示器上的單個液晶。每個像素包含3種顏色液晶。紅、綠、藍三基色組成1600萬種顏色。

再再細化,單單個液晶。用8位表示明亮度,換算成十進制就是256。一個單液晶有256種亮度。明亮度不同融合其他兩種顏色,最終人眼所看到的顏色也不同。




這就是顏色組成的原理。上面圖片大多來自網絡,違規告訴我一聲,馬上刪。


新宇2490


這個問題很好回答,會Photoshop的同學,只需要調出來Ps建立一個1300萬像素的畫板就知道了:

1300萬像素,就是一張圖片總共有1300個基本像素點,這樣,我們可以在Ps裡面建立一個寬1300像素,高度10000像素的圖像。這樣合起來這個圖像的像素就是1300萬,建立之後,我們可以清晰地看到,Ps軟件顯示該圖片大小是37.2M。如下圖所示:

當然了,即便我們改變高度和寬度的像素值,但只要二者的乘積是13000000,其大小都是37.2M不會變。如下改成了寬度130psi(像素),高度1300000psi,結果還是37.2M:

那麼接下來我們不借助軟件,來看看計算機到底是如何存儲圖片以及為何圖片大小是37.2M。

計算機是存儲的基本單位是字節(byte),一個字節由8個二進制數字組成,所以一個字節的最大值就是2^8=256。而一個像素點就代表一種顏色,顏色在計算機裡面是由RGB三原色合成的,即紅(R)、綠(G)、藍(B)。每個顏色值可以分成0-255個色度,這樣一個像素點只需3個字節就可以表示了:一個字節代表R,一個代表G,一個代表B。

如此的話,1300萬個像素點就需要:13000000*3=39000000byte。

根據1M=1024K=1024*1024Byte,可以得到39000000byte=37.1933M,計算機需要取大點的整數,所以最終會劃分一個37.2M的空間給予這個照片。


科學探秘頻道


手持D5300+18-200VR II,NEF格式下原圖20-24MB不等,1300萬像素算下來無壓縮傳感器原始數據保存下來之後應該在10-13MB左右,與所謂的RGB沒有關係,那個是顯示器的事,傳感器輸出數據之後由處理器合成具體的顏色數據直接就保存了,因為每一個像素點只有一個數據,這個數據在色彩系統(256位,16位,32位的SRGB或者AdobeRGB)裡已經編好色號,不需要再去進行所謂的三原色數據保存,而你的圖片裡有多少像素點就需要多少數量的色彩記錄信息(不談壓縮),所以1300萬個像素點,就需要1300萬哥個色彩記錄信息,在AdobeRGB級傳感器14級寬容度色彩記錄方式下,每個色彩記錄信息佔用一個byte(不是bit,分清楚bit和byte,至於為什麼只佔用一個byte,請去問微軟和adobe以及索尼尼康佳能卡爾蔡司施耐德萊卡),所以13 000 000個像素點,13 000 000個byte,差不多就是10-13MB(取決於你的操作系統是1024進制還是1000進制以及處理器保存數據時是否會進行少量數據壓縮操作)....


AriesTheRealm


首先說,其他人說的要麼是瞎扯,要麼說個大約數如此等等。

再次說,這是一道數學題。

1300萬像素的分辨率不知道是多少乘以多少,那我們就來算算1200萬像素的。

1200萬像素24位真彩無壓縮:

3000*4000*3=36000000字節≈34.3323MB

1300萬:

1300萬像素24位真彩無壓縮: 13000000*3=39000000字節≈37.2MB


朱鴻峰2


你說的是BMP格式的圖片,一個像素由3個顏色組成,分別是紅(R)綠(G)藍(B),每個顏色一個字節,一個像素就是3個字節,比如白色的16進製表示就是ffffff,也就是說三種顏色都顯示最亮的時候,人眼看到的就是白色。剩下的就是純數學計算了,這裡省略


笨小虎


得看是什麼相機了,單反的話,1300萬像素,一張JPEG精細的照片大概有10M 卡片機大概5M吧。佔用內存不是固定的,得看照片拍攝的是什麼場景,細節包含越多,照片就越大。



簽約攝影師


一個像素顏色用六位十六進制數表示,如00FF00代表純綠色(233),而一個十六進制位就是4個二進制位,6個十六進制就是24個二進制。計算機8個二進制位佔用1bit,24個二進制位就是3bit,所以

1300萬像素

=13000000×3bit

=39000000bit

=(39000000÷1024÷1024)MB

=37.1932983398MB.


分享到:


相關文章: