上一篇詳細(xì)討論了顯示器的尺寸、分辨率,PPI,DPI的概念,在這個基礎(chǔ)上,我們討論圖像的尺寸和分辨率就要容易得多了,如果你還沒有閱讀上一篇,而對這些概念又不是非常、非常地清晰,建議你先閱讀上一篇。
先做一個小調(diào)查:
matplotlib 繪圖,使用下面的命令創(chuàng)建的figure尺寸和分辨率是多少:
非常清晰的,請在評論區(qū)回復(fù)1,似乎知道但不是很清晰的回復(fù)0.5,根本不知道或者根本沒想過這個問題的回復(fù)0。
謝謝!你的回復(fù)對我后面的寫作有重要的參考價值。
前面有約:用圖像image表示位圖、柵格圖形;用graphic表示矢量圖形。
將一個區(qū)域(常見的為矩形,后面就以矩形為例)劃分為若干個小格子(柵格),每個格子只能用一種顏色填充,將所有格子填上各種顏色,用這種方式表達(dá)的圖像就是柵格圖像Image。
即使整個圖像只有一根直線,這根直線也是用一個一個的小格子排列而成的。
圖一:原圖
如果你需要文章中用到的一些素材,如圖片、代碼、數(shù)據(jù)集等,請移步QQ群“Python草堂”群號:457079928 下載。
在PS中打開上圖,放大到1600%:
圖二:放大圖
就能直觀地理解柵格圖像的含義了。
graphic,矢量圖形,則是用數(shù)據(jù)語言描述的圖形,比如,直線只需要給出兩個端點(diǎn);圓只需要給出圓心和半徑即可。
matplotlib在繪制時,繪制的是矢量圖形。在存儲、交換、使用時大多數(shù)又是柵格圖像了!
在PS里查看圖像大小:
發(fā)現(xiàn)PS有兩種表示圖像大小的方式:
像素大?。?寬度,250 像素;高度344 像素
文檔大?。簩挾?,2.12 厘米;高度2.91厘米;分辨率R(resolution) ,300 像素/英寸
注意,這里的文檔大小,其實就是圖像的物理尺寸,如果我們按照100%的比例打印這幅圖像,打印出來的照片區(qū)域就是 2.12厘米*2.91厘米。
這兩種尺寸的關(guān)系如下:
在上一篇中講過,像素 pixels 嚴(yán)格來說是顯示分辨率。
在計算機(jī)屏幕上,1 px,傳遞到我們眼睛,給出的直觀大小是可變的,這就是圖像的縮放。
圖一中我們的眼睛無法區(qū)分出 1 px的格子,當(dāng)放大到1600%時,我們的眼睛能清晰地區(qū)分出 1 px的單元格。
請注意:這時候,圖一的實際尺寸、圖像分辨率并沒有變化;我們改變的是它的顯示分辨率。
為什么說是改變了圖像的顯示分辨率呢?
我的電腦顯示屏幕的當(dāng)前顯示分辨率已設(shè)置好,是1920px*1080px,96DPI,也就是說每英寸長度上能顯示96個px。
請問:圖一在PS中以100%的比例顯示時,占據(jù)我的屏幕的物理空間是多大?
圖一的尺寸如下:
像素大?。?寬度,250 像素;高度344 像素
文檔大?。簩挾?,2.12 厘米;高度2.91厘米;分辨率R(resolution) ,300 像素/英寸
我們先來做一個推算:
可以計算出該圖像在我的屏幕上應(yīng)該占據(jù):
寬6.625厘米,高9.09厘米的屏幕空間。
原圖像的物理尺寸是:2.12厘米*2.91厘米,100%比例顯示時真會占據(jù)這么大的空間嗎?
回到PS中,按照100%比例顯示圖一,設(shè)置PS的標(biāo)尺單位為毫米,并顯示網(wǎng)格線。
我用尺子測量了一下圖一100%比例顯示時,在我的屏幕上占據(jù)的空間就是:6.6厘米*9.1厘米。
再問:在我的屏幕上,如果圖一占據(jù)的屏幕物理空間和圖一的物理尺寸一樣,即2.12厘米*2.91厘米,顯示的縮放比例應(yīng)該是多少?
有興趣的,請在評論里寫上你的答案。
image的物理尺寸,就是你以100%的比例打印圖像時,打印出的照片的物理尺寸。
image的尺寸有兩種表示方式:像素,inches(或厘米、毫米等長度單位);
用像素表示的圖像尺寸結(jié)合DPI可以計算出圖像的物理尺寸;
image有圖像分辨率(設(shè)定后是固定的)和顯示分辨之分;
image在屏幕上的放大和縮小,改變的是圖像的顯示分辨率;image的實際分辨并沒有改變;
image是將圖像區(qū)域劃分為方格矩陣,每個方格填充各種色彩來表達(dá)圖像的。
柵格矩陣表達(dá)圖像的方式,讓用Numpy的ndarray來存儲、交換、重現(xiàn)、變換image成為很自然的事。
聯(lián)系客服