python圖像鏡像函數(shù) Python鏡像源

Python:這有可能是最詳細的PIL庫基本概念文章了

PIL有如下幾個模塊:Image模塊、ImageChops模塊、ImageCrackCode模塊、ImageDraw模塊、ImageEnhance模塊、ImageFile模塊、ImageFileIO模塊、ImageFilter模塊、ImageFont模塊、ImageGrab模塊、ImageOps模塊、ImagePath模塊、ImageSequence模塊、ImageStat模塊、ImageTk模塊、ImageWin模塊、PSDraw模塊

創(chuàng)新互聯(lián)是一家專注于網站設計制作、成都做網站與策劃設計,武漢網站建設哪家好?創(chuàng)新互聯(lián)做網站,專注于網站建設十余年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:武漢等地區(qū)。武漢做網站價格咨詢:028-86922220

啊啊啊啊怎么這么多模塊啊~~~?。。?!

別擔心我為你一一講解

Image模塊提供了一個相同名稱的類,即image類,用于表示PIL圖像。

Image模塊是PIL中最重要的模塊 ,比如創(chuàng)建、打開、顯示、保存圖像等功能,合成、裁剪、濾波等功能,獲取圖像屬性功能,如圖像直方圖、通道數(shù)等。

Image模塊的使用如下:

ImageChops模塊包含一些算術圖形操作,這些操作可用于諸多目的,比如圖像特效,圖像組合,算法繪圖等等,通道操作只用于8位圖像。

ImageChops模塊的使用如下:

由于圖像im_dup是im的復制過來的,所以它們的差為0,圖像im_diff顯示時為黑圖。

ImageCrackCode模塊允許用戶檢測和測量圖像的各種特性。 這個模塊只存在于PIL Plus包中。

因為我目前安裝的PIL中沒有包含這個模塊。所以就不詳細介紹了

ImageDraw模塊為image對象提供了基本的圖形處理功能。 例如,它可以創(chuàng)建新圖像,注釋或潤飾已存在圖像,為web應用實時產生各種圖形。

ImageDraw模塊的使用如下:

在del draw前后顯示出來的圖像im是完全一樣的,都是在原有圖像上畫了兩條對角線。

原諒我的報錯

ImageEnhance模塊包括一些用于圖像增強的類。它們分別為 Color類、Brightness類、Contrast類和Sharpness類。

ImageEnhance模塊的使用如下:

圖像im0的亮度為圖像im的一半。

ImageFile模塊為圖像打開和保存功能提供了相關支持功能。另外,它提供了一個Parser類,這個類可以一塊一塊地對一張圖像進行解碼(例如,網絡聯(lián)接中接收一張圖像)。這個類的接口與標準的sgmllib和xmllib模塊的接口一樣。

ImageFile模塊的使用如下:

因為所打開圖像大小大于1024個byte,所以報錯:圖像不完整。

所以大家想看的可以自行去找一個小一點的圖看一下

ImageFileIO模塊用于從一個socket或者其他流設備中讀取一張圖像。 不贊成使用這個模塊。 在新的code中將使用ImageFile模塊的Parser類來代替它。

ImageFilter模塊包括各種濾波器的預定義集合,與Image類的filter方法一起使用。該模塊包含這些圖像增強的濾器:BLUR,CONTOUR,DETAIL,EDGE_ENHANCE,EDGE_ENHANCE_MORE,EMBOSS,F(xiàn)IND_EDGES,SMOOTH,SMOOTH_MORE和SHARPEN。

ImageFilter模塊的使用如下:

ImageFont模塊定義了一個同名的類,即ImageFont類。這個類的實例中存儲著bitmap字體,需要與ImageDraw類的text方法一起使用。

PIL使用自己的字體文件格式存儲bitmap字體。用戶可以使用pilfont工具包將BDF和PCF字體描述器(Xwindow字體格式)轉換為這種格式。

PIL Plus包中才會支持矢量字體。

ImageGrab模塊用于將屏幕上的內容拷貝到一個PIL圖像內存中。 當前的版本只在windows操作系統(tǒng)上可以工作。

ImageGrab模塊的使用如下:

圖像im顯示出筆記本當前的窗口內容,就是類似于截圖的工具

ImageOps模塊包括一些“ready-made”圖像處理操作。 它可以完成直方圖均衡、裁剪、量化、鏡像等操作 。大多數(shù)操作只工作在L和RGB圖像上。

ImageOps模塊的使用如下:

圖像im_flip為圖像im垂直方向的鏡像。

ImagePath模塊用于存儲和操作二維向量數(shù)據(jù)。Path對象將被傳遞到ImageDraw模塊的方法中。

ImagePath模塊的使用如下:

ImageSequence模塊包括一個wrapper類,它為圖像序列中每一幀提供了迭代器。

ImageSequence模塊的使用如下:

后面兩次show()函數(shù)調用,分別顯示第1張和第11張圖像。

ImageStat模塊計算一張圖像或者一張圖像的一個區(qū)域的全局統(tǒng)計值。

ImageStat模塊的使用如下:

ImageTk模塊用于創(chuàng)建和修改BitmapImage和PhotoImage對象中的Tkinter。

ImageTk模塊的使用如下:

這個是我一直不太懂的有沒有大佬能幫我解決一下在線等~急!

PSDraw模塊為Postscript打印機提供基本的打印支持。用戶可以通過這個模塊打印字體,圖形和圖像。

PIL中所涉及的基本概念有如下幾個: 通道(bands)、模式(mode)、尺寸(size)、坐標系統(tǒng)(coordinate system)、調色板(palette)、信息(info)和濾波器(filters)。

每張圖片都是由一個或者多個數(shù)據(jù)通道構成。PIL允許在單張圖片中合成相同維數(shù)和深度的多個通道。

以RGB圖像為例,每張圖片都是由三個數(shù)據(jù)通道構成,分別為R、G和B通道。而對于灰度圖像,則只有一個通道。

對于一張圖片的通道數(shù)量和名稱,可以通過getbands()方法來獲取。getbands()方法是Image模塊的方法,它會返回一個字符串元組(tuple)。該元組將包括每一個通道的名稱。

Python的元組與列表類似,不同之處在于元組的元素不能修改,元組使用小括號,列表使用方括號,元組創(chuàng)建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。

getbands()方法的使用如下:

圖像的模式定義了圖像的類型和像素的位寬。當前支持如下模式:

1:1位像素,表示黑和白,但是存儲的時候每個像素存儲為8bit。

L:8位像素,表示黑和白。

P:8位像素,使用調色板映射到其他模式。

I:32位整型像素。

F:32位浮點型像素。

RGB:3x8位像素,為真彩色。

RGBA:4x8位像素,有透明通道的真彩色。

CMYK:4x8位像素,顏色分離。

YCbCr:3x8位像素,彩色視頻格式。

PIL也支持一些特殊的模式,包括RGBX(有padding的真彩色)和RGBa(有自左乘alpha的真彩色)。

可以通過mode屬性讀取圖像的模式。其返回值是包括上述模式的字符串。

mode 屬性 的使用如下:

通過size屬性可以獲取圖片的尺寸。這是一個二元組,包含水平和垂直方向上的像素數(shù)。

mode屬性的使用如下:

PIL使用笛卡爾像素坐標系統(tǒng),坐標(0,0)位于左上角。注意:坐標值表示像素的角;位于坐標(0,0)處的像素的中心實際上位于(0.5,0.5)。

坐標經常用于二元組(x,y)。長方形則表示為四元組,前面是左上角坐標。例如:一個覆蓋800x600的像素圖像的長方形表示為(0,0,800,600)。

調色板模式 ("P")使用一個顏色調色板為每個像素定義具體的顏色值

使用info屬性可以為一張圖片添加一些輔助信息。這個是字典對象。加載和保存圖像文件時,多少信息需要處理取決于文件格式。

info屬性的使用如下:

對于將多個輸入像素映射為一個輸出像素的幾何操作,PIL提供了4個不同的采樣濾波器:

NEAREST:最近濾波。 從輸入圖像中選取最近的像素作為輸出像素。它忽略了所有其他的像素。

BILINEAR:雙線性濾波。 在輸入圖像的2x2矩陣上進行線性插值。注意:PIL的當前版本,做下采樣時該濾波器使用了固定輸入模板。

BICUBIC:雙立方濾波。 在輸入圖像的4x4矩陣上進行立方插值。注意:PIL的當前版本,做下采樣時該濾波器使用了固定輸入模板。

ANTIALIAS:平滑濾波。 這是PIL 1.1.3版本中新的濾波器。對所有可以影響輸出像素的輸入像素進行高質量的重采樣濾波,以計算輸出像素值。在當前的PIL版本中,這個濾波器只用于改變尺寸和縮略圖方法。

注意:在當前的PIL版本中,ANTIALIAS濾波器是下采樣 (例如,將一個大的圖像轉換為小圖) 時唯一正確的濾波器。 BILIEAR和BICUBIC濾波器使用固定的輸入模板 ,用于固定比例的幾何變換和上采樣是最好的。Image模塊中的方法resize()和thumbnail()用到了濾波器。

resize()方法的定義為:resize(size, filter=None)= image

resize()方法的使用如下:

對參數(shù)filter不賦值的話,resize()方法默認使用NEAREST濾波器。如果要使用其他濾波器可以通過下面的方法來實現(xiàn):

thumbnail ()方法的定義為:im.thumbnail(size, filter=None)

thumbnail ()方法的使用如下:

這里需要說明的是,方法thumbnail()需要保持寬高比,對于size=(200,200)的輸入?yún)?shù),其最終的縮略圖尺寸為(182, 200)。

對參數(shù)filter不賦值的話,方法thumbnail()默認使用NEAREST濾波器。如果要使用其他濾波器可以通過下面的方法來實現(xiàn):

python有沒有將圖像變成函數(shù)的方法

當然有,這就是Python函數(shù)圖像工具(EXE)。 本程序運用Python中最令人喜愛的數(shù)據(jù)處理工具numpy和超強的圖像庫matplotlib,實現(xiàn)13種不同類別函數(shù)的分類圖像整理,展示圖像均可以保存為圖片的形式,具備拖動、放大等功能

python turtle作圖問題

簡介:turtle是一個簡單的繪圖工具。它提供了一個海龜,你可以把它理解為一個機器人,只聽得懂有限的指令。

1.在文件頭寫上如下行,這能讓我們在語句中插入中文

#-*- coding: utf-8 -*-

2.用import turtle導入turtle庫

3.繪圖窗口的原點(0,0)在正中間。默認情況下,海龜向正右方移動。

4.操縱海龜繪圖有著許多的命令,這些命令可以劃分為兩種:一種為運動命令,一種為畫筆控制命令

(1)運動命令:

forward(d)

向前移動距離d代表距離

backward(d)

向后移動距離d代表距離

right(degree)

向右轉動多少度

left(degree)

向左轉動多少度

goto(x,y)

將畫筆移動到坐標為(x,y)的位置

stamp()

繪制當前圖形

speed(speed)

畫筆繪制的速度范圍[0,10]整數(shù)

(2)畫筆控制命令:

down()

畫筆落下,移動時繪制圖形

up()

畫筆抬起,移動時不繪制圖形

setheading(degree)

海龜朝向,degree代表角度

reset()

恢復所有設置

pensize(width)

畫筆的寬度

pencolor(colorstring)

畫筆的顏色

fillcolor(colorstring)

繪制圖形的填充顏色

fill(Ture)

fill(False)

circle(radius, extent)

繪制一個圓形,其中radius為半徑,extent為度數(shù),例如若extent為180,則畫一個半圓;如要畫一個圓形,可不必寫第二個參數(shù)

5.幾個例子

1)畫一個邊長為60的三角形

#-*- coding: utf-8 -*-

importturtle

a=60

turtle.forward(a)

turtle.left(120)

turtle.forward(a)

turtle.left(120)

turtle.forward(a)

turtle.left(120)

2)畫一個邊長為60的正方形,并填充為紅色,邊框為藍色

#-*- coding: utf-8 -*-

importturtle

turtle.reset()

a= 60

turtle.fillcolor("red")

turtle.pencolor("blue")

turtle.pensize(10)

turtle.fill(True)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.left(90)

turtle.forward(a)

turtle.fill(False)

6.練習:

1)畫一個五邊形

2)畫一個六邊形

3)任意輸入一個正整數(shù)m(=3),畫一個多邊形(m條邊)

4)畫一個五角星,如下所示,注意填充為紅色

5)畫一個中國象棋棋盤,如下圖所示,其中漢字不必顯示出來:

6)繪制奧運五環(huán)圖,其中五種顏色分別為藍色、黑色、紅色、黃色和綠色。注意根據(jù)實際效果調整圓形的大小和位置。

分享標題:python圖像鏡像函數(shù) Python鏡像源
本文來源:http://www.muchs.cn/article38/doocisp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制網站、網站營銷、云服務器移動網站建設、動態(tài)網站、網頁設計公司

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網站優(yōu)化