乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      04-學(xué)Matplotlib需要擰清的概念之Inches, PPI, DPI

       星光閃亮圖書館 2019-08-30

      學(xué)Matplotlib需要擰清的概念之Inches, PPI, DPI

      先問兩個問題,你思考過:

      1. 為什么matplotlib繪圖,有一個“figure'圖形對象,還需要“canvas'畫布對象?又不是真的在畫布上繪畫?

      2. mpl中是如何實現(xiàn)坐標(biāo)定位的?

      在photoshop中也是如此。

      在學(xué)習(xí)計算機繪圖時,經(jīng)常見到一些概念,如:

      • DPI

      • PPI

      • 圖像

      • 畫布

      • 圖像尺寸

      • 畫布尺寸

      • 分辯率

      • inches

      • 像素(pixels)

      • Axes

      • Axis

      • .......等

      像我這樣的草根,初期常擰不清它們,并且困惑于:為什么要弄出這么多“差不多”(相似)的概念?

      我也很長時間停留在對它們的一知半解上,因為那時也認(rèn)為,大致知道這此概念就“差不多了”(馬馬虎虎),我只要能畫出圖形來即可!

      其實理清這些概念很重要,它是輸出圖像質(zhì)量、繪圖坐標(biāo)設(shè)置、matplotlib一些參數(shù)設(shè)置等的基礎(chǔ),甚至有時直接決定了你自由操控matplotlib的能力(如坐標(biāo)變換)。在對它們模糊的時候,使用matplotlib,很多參數(shù)設(shè)置的目的和產(chǎn)生的結(jié)果也就是模糊的。

      等我花一些時間理清楚它們后,過去對matplotlib中一些不能理解的地方也豁然開朗了。

      本打算把類似上面的一些基礎(chǔ)性概念在一篇文章中做個總結(jié),因篇幅的限制,需要分幾篇了。

      顯示器的尺寸

      繪圖過程中,絕大多數(shù)時間,我們都是在顯示器(本文以液晶顯示器為例)上操作、查看圖像。

      顯示器有一個最直接、固定的參數(shù),就是經(jīng)常說的屏幕尺寸。

      屏幕尺寸(物理尺寸),用英寸 inches表示,它是矩形'液晶面板'的對角線長度。比如,17寸顯示器,23.1寸顯示器...等。

      矩形的對角線是23.1 inches,顯示器的長、寬是多少呢?這就引入了屏幕比例的概念,如標(biāo)準(zhǔn)的4:3,16:9。

      1 英寸 = 2.54 厘米。

      我正在用的臺式機上的顯示器是:23.1英寸,16:9。

      用 l 、w 分別表示液晶面板的長和寬,有:

      04-學(xué)Matplotlib需要擰清的概念之Inches, PPI, DPI

      解上面的方程組即可大概地計算出顯示器屏幕的長和寬了,單位是厘米。

      計算結(jié)果是:

      • l = 51.55556 ≈ 51 厘米

      • w = 28.76559 ≈ 29 厘米

      我們可以用尺子量一下屏幕顯示區(qū)的長和寬。更精確的是使用硬件檢測軟件獲取顯示器的詳細信息,我的顯示器檢測結(jié)果如下:

      04-學(xué)Matplotlib需要擰清的概念之Inches, PPI, DPI

      小結(jié):

      • 用液晶面板的對角線長度,單位英寸,inches,表示 ;

      • 屏幕的長寬比叫屏幕比例,如 16:9;

      • 上兩點計算出屏幕的物理長、寬,一般用厘米或英寸表示。

      在matplotlib中,`display`坐標(biāo)就是基于這個屏幕構(gòu)建的坐標(biāo),所以用inches或像素標(biāo)識。

      后面會專題討論matplotlib中的各種坐標(biāo)系,上面的知識會有助于你的理解。

      液晶顯示器的”像素“ pixel

      液晶是一種特殊的有機化合物, 在常溫條件下,它呈現(xiàn)出既有液體的流動性,又有晶體的光學(xué)各向異性,因而稱為“液晶”。

      液晶的物理特性是:當(dāng)通電時,排列變的有秩序,使光線容易通過(看起來就是亮);不通電時排列混亂,阻止光線通過(看起來就是灰暗)。讓液晶如閘門般地阻隔或讓光線穿透。

      液晶層中的液滴都被包含在細小的單元格結(jié)構(gòu)中,一個或多個單元格構(gòu)成屏幕上的一個像素。在玻璃板與液晶材料之間是透明的電極,電極分為行和列,在行與列的交叉點上,通過改變電壓而改變液晶的旋光狀態(tài),液晶材料的作用類似于一個個小光閥。這樣就可以控制每個像素的亮度和顏色了。

      顯然,相同尺寸的液晶層上劃分的單元格(像素)越多,顯示器的顯示精度就越高,顯示出來的圖像就越細膩,但這種顯示器的制作工藝難度就會增加,成本也會增加。

      顯示器就是通過在一個一個單元格(像素)中填充不同的顏色來表達圖像的。

      04-學(xué)Matplotlib需要擰清的概念之Inches, PPI, DPI

      像素就是最小的顯示單元格,在一個單元格中只能顯示相同的顏色。

      04-學(xué)Matplotlib需要擰清的概念之Inches, PPI, DPI

      分辨率,resolution

      我們在選購顯示器時,非常關(guān)注的”分辨率“參數(shù),它就與”像素“有關(guān)。像素常用字母PX表示。

      分辨率,又稱解析度、解像度。即顯示屏幕區(qū)域被分解為多少個像素(單元格)。

      雖然在系統(tǒng)中有設(shè)置顯示器分辨的地方,但液晶顯示器的最大分辨率在出廠后就是固定的了。能設(shè)置的僅是當(dāng)前分辨率。下圖是windows 10 系統(tǒng)設(shè)置顯示分辨率的界面。

      04-學(xué)Matplotlib需要擰清的概念之Inches, PPI, DPI

      04-學(xué)Matplotlib需要擰清的概念之Inches, PPI, DPI

      我的顯示器最大分辨率是 1920*1080,即長向上有1920個PX,寬向上有1080PX

      總的有 2073600 個像素,它就是我的顯示的分辨率了。這個數(shù)字太大,不好理解,所以一般直接用類似 1920PX * 1080PX這樣的形式來表示屏幕的分辨率,手機屏幕也是如此。

      題外話:液晶面板的單元格劃分在出廠時就固定了,為什么還能設(shè)置當(dāng)前分辨率呢?

      假如我將當(dāng)前分辨率調(diào)整為1280px*960px,按照定義,長向就是1280個像素,寬向就是960個像素。其實并不是你改變了顯示器分辨率,而是操作系統(tǒng)欺騙了你。操作系統(tǒng)通過一系列運算將1920*1080個單元格矩陣變換為1280*960個模擬像素矩陣呈現(xiàn)給你。所以,就有了當(dāng)前分辨率和最大分辨。

      PPI 是什么?

      基于分辨率的含義,人們還用每英寸長度上像素個數(shù)來表示屏幕分辨率,即 Pixels per inches,縮寫為 PPI。

      我的顯示器長向上最大為1920像素,物理長度是51厘米(折合20.078英寸),每英寸長度上有1920 px / 20.078 inches ≈ 96 PPI。

      所以,有時又說我的顯示器分辨率是 96 PPI。

      也有人把他說成 96 DPI,這是不嚴(yán)格的。對于顯示器分辨率,嚴(yán)格來說應(yīng)該用 96 PPI。當(dāng)然你很清楚它們的含義時,反而混用也沒有關(guān)系了。

      DPI 又是什么?

      DPI 是 Dots per inches的縮寫。DPI是一個與打印機、印刷緊密相關(guān)的概念。

      打印機是通過一個一個的墨點來打印圖像的,每個墨點的色彩只能是一樣的,打印機在每英寸上可打印的點數(shù)就是DPI。顯然DPI越大,打印出來的圖像就越細膩。所以,常用DPI作為打印機的分辨率來表示打印機的最大可打印質(zhì)量。

      為什么說是最大可打印質(zhì)量呢?即這臺打印機最大打印分辨率,但實際打印分辨率還與圖像的分辨率有關(guān)。

      一般打印機的分辨在150-300DPI,高的能達到600DPI。

      我們用100%的比例打印圖像:

      • 假如有一臺打印機的分辨率是600DPI,要打印一幅分辨率(后面會討論圖像分辨率)為300DPI的圖像,打印機是不可能改變圖像分辨率的,打印到紙上的照片的分辨率就是300DPI,因為圖像的原始點是這么大,即使打印機用了兩個點表達圖像中的一個點,但這兩個點是一樣的色彩。

      • 反過來,用一臺300DPI的打印機,打印一幅600DPI的圖像,打印出來的照片也只能是300DPI的。因為打印機無法表達更小的點。

      總結(jié):

      嚴(yán)格來說:

      • 像素就是顯示器、圖像被分割成的最小格子;

      • 單個格子越小,每英寸上格子就越多,即像素越大,顯示就越細膩;

      • 單個格子越大,每英寸上格子就越少,即像素越小,顯示就越粗糙;

      • 顯示分辨率用PPI,Pixels Per Inches;

      • 打印分辨率用DPI,Dots Per Inches。

      它們對matplotlib來說很重要。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多