版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第十一章數(shù)據(jù)庫操作高等學(xué)校計(jì)算機(jī)類特別教材上海市高等學(xué)校信息技術(shù)水平考試參考教材Python程序設(shè)計(jì)基礎(chǔ)理解SQLite數(shù)據(jù)庫的創(chuàng)建。掌握簡(jiǎn)單的SQL語句。理解數(shù)據(jù)庫連接對(duì)象和游標(biāo)對(duì)象的創(chuàng)建。本章教學(xué)目標(biāo)掌握游標(biāo)對(duì)象的方法execute()、fetchone()、fetchall()和close()。了解Python對(duì)Access、MySQL和SQLServer等數(shù)據(jù)庫的操作方法。本章教學(xué)目標(biāo)01訪問SQLite數(shù)據(jù)庫PARTONE11.1訪問SQLite數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)可存放于多個(gè)二維表中,例如,圖11-1所呈現(xiàn)的是SQLite數(shù)據(jù)庫student.db中學(xué)生基本情況表base的部分?jǐn)?shù)據(jù)。在表中,行稱為記錄(record),列稱為字段(field)。一個(gè)數(shù)據(jù)庫中可以包含多個(gè)表,例如,在student.db數(shù)據(jù)庫中除包含學(xué)生基本情況表base外,還包含成績表score等數(shù)據(jù)表。各表中都包含一個(gè)學(xué)號(hào)字段,通過學(xué)號(hào)可以建立兩個(gè)表乃至多個(gè)表之間的關(guān)聯(lián)關(guān)系,并作為一個(gè)邏輯整體提供查詢應(yīng)用。這樣,既避免了單個(gè)表的龐大復(fù)雜,又增加了引用數(shù)據(jù)的靈活性,減少了數(shù)據(jù)的冗余。11.1訪問SQLite數(shù)據(jù)庫SQLite是一個(gè)開源的關(guān)系型數(shù)據(jù)庫系統(tǒng),具有零配置(ZeroConfiguration)、自我包含(Self-contained)和便于傳輸(EasyTransfer)等優(yōu)點(diǎn)。由于其高度便攜、使用方便、結(jié)構(gòu)緊湊、高效和可靠,因此被廣泛作為移動(dòng)設(shè)備嵌入式數(shù)據(jù)庫用于前端數(shù)據(jù)存儲(chǔ)。SQLite支持規(guī)范的SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言),可方便地支持?jǐn)?shù)據(jù)庫系統(tǒng)原型研發(fā)和移植。SQLite將整個(gè)數(shù)據(jù)庫的表、索引、數(shù)據(jù)都存儲(chǔ)在一個(gè)單一的.db文件中,不需要網(wǎng)絡(luò)配置和管理,沒有用戶賬戶和密碼,數(shù)據(jù)庫的訪問權(quán)限依賴于文件所在的操作系統(tǒng)。這個(gè)小型的數(shù)據(jù)庫系統(tǒng)支持事務(wù),具有原子性、一致性、隔離性和持久性,還支持觸發(fā)器、復(fù)雜查詢,以及多進(jìn)程并發(fā)訪問。11.1訪問SQLite數(shù)據(jù)庫11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作SQLite3是Python的內(nèi)置庫,用importsqlite3語句導(dǎo)入后,訪問SQLite數(shù)據(jù)庫通常需要經(jīng)歷如下步驟。①
用connect()方法創(chuàng)建數(shù)據(jù)庫連接對(duì)象conn。②
如果需要對(duì)表進(jìn)行創(chuàng)建新表、插入數(shù)據(jù)、修改或刪除數(shù)據(jù)操作,可使用conn.execute()方法,并使用mit()方法提交事務(wù)。③
如果需要查詢操作,應(yīng)先使用conn.cursor()方法返回游標(biāo)對(duì)象cur,然后執(zhí)行curexecute()方法進(jìn)行查詢。④
調(diào)用cur.fetchone()、cur.fetchmany()或cur.fetchall()方法返回查詢結(jié)果。⑤
最后關(guān)閉cur和conn對(duì)象。用connect()方法可建立對(duì)已有數(shù)據(jù)庫文件的連接對(duì)象(下例中的conn),若不存在該數(shù)據(jù)庫文件,則新建該數(shù)據(jù)庫。例如,在D盤根目錄下建立一個(gè)空數(shù)據(jù)庫test.db:11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作由于SQLite3并不是可視化呈現(xiàn)的,因此可使用NavicatforSQLite、SQLiteExpert、SQLiteStudio、SQLiteTool等第三方工具協(xié)助管理數(shù)據(jù)庫。如圖11-2所示,可用Navicatfor
SQLite可視化管理SQLite數(shù)據(jù)庫。建立數(shù)據(jù)庫連接對(duì)象后,用數(shù)據(jù)庫連接對(duì)象的方法execute(SQL語句)可執(zhí)行SQL語句,對(duì)數(shù)據(jù)庫及表實(shí)現(xiàn)創(chuàng)建、插入、修改、刪除和查詢操作。SQL語句大小寫不敏感,可分行,關(guān)鍵字之間可使用空格。在Python字符串的三引號(hào)界定符"的支持下,可將SQL語句分行呈現(xiàn),增加可讀性。11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作成功創(chuàng)建數(shù)據(jù)庫后,應(yīng)在其中合理創(chuàng)建表。表結(jié)構(gòu)的設(shè)計(jì)是否合理,對(duì)程序運(yùn)行的效率至關(guān)重要。設(shè)計(jì)和創(chuàng)建表,主要關(guān)注表中應(yīng)包含哪些字段,以及每個(gè)字段的名稱、數(shù)據(jù)類型和寬度。11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作SQLite3中的字段支持以下4種類型①整數(shù)(INTEGER)型:有符號(hào)整數(shù),按實(shí)際存儲(chǔ)大小自動(dòng)存儲(chǔ)為1、2、3、4、6或8字節(jié),通常不需要指定位數(shù)。③文本(TEXT)型:字符串,以數(shù)據(jù)庫編碼方式存儲(chǔ)(以UTF-8編碼可支持漢字)。②實(shí)數(shù)(REAL)型:浮點(diǎn)數(shù),以8字節(jié)指數(shù)形式存儲(chǔ),可指定總位數(shù)和小數(shù)位數(shù)。④BLOB型:二進(jìn)制對(duì)象數(shù)據(jù),通常用來保存圖片、視頻等數(shù)據(jù)11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作創(chuàng)建表的SQL語句語法格式如下:11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作SQL語句大小寫不敏感,可以用大寫形式以示與Python語句相區(qū)別。設(shè)計(jì)表結(jié)構(gòu)時(shí),作為一種數(shù)據(jù)完整性約束可指定某字段是否允許空。若不允許為空,可用關(guān)鍵字NOTNULL加以限制。在大多數(shù)表中,往往會(huì)指定一個(gè)非空且唯一的字段作為主關(guān)鍵字(PRIMARYKEY),如學(xué)號(hào)。為了便于快速檢索,通常將表按主關(guān)鍵字建立索引。11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作【例11-1】根據(jù)如圖11-1所示的數(shù)據(jù)結(jié)構(gòu),在D盤根目錄下建立一個(gè)空數(shù)據(jù)庫student.db,并按如圖11-3所示的表結(jié)構(gòu)創(chuàng)建學(xué)生基本情況表base。11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作與數(shù)據(jù)庫連接對(duì)象方法conn.execute()相關(guān)的常用SQL語句語法格式如下。添加:修改:刪除:11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作【例11-2】編寫Python程序?yàn)槔?1-1中創(chuàng)建的student庫的base表添加新生的學(xué)號(hào)、姓名和性別三項(xiàng)非空數(shù)據(jù)。11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作添加數(shù)據(jù)后的base表如圖11-4所示。在格式化構(gòu)建SQL字符串時(shí)應(yīng)注意,VALUES后面的數(shù)據(jù)元組應(yīng)與前面的字段元組的順序一致,且TEXT型的數(shù)據(jù)要加單引號(hào)界定符。11.1.1SQLite數(shù)據(jù)庫連接對(duì)象及表的SQL操作11.1.2
游標(biāo)對(duì)象和SQL查詢與游標(biāo)對(duì)象方法cur.execute()相關(guān)的SQL語句語法格式如下:其中,DISTINCT表示不包括重復(fù)行;<目標(biāo)列表達(dá)式>包含對(duì)目標(biāo)列的AVG、COUNT、SUM、MIN、MAX等聚合函數(shù);<GROUPBY列名>為對(duì)聚合函數(shù)查詢的分組;[HAVING<條件表達(dá)式>]為分組篩選的條件;[ORDERBY列名[ASC|DESC>表示對(duì)查詢結(jié)果排序,ASC為升序(默認(rèn)),DESC為降序。執(zhí)行游標(biāo)對(duì)象cur.execute(<SELECT查詢SQL語句>)后,用cur.fetchall()或cur.fetchone()方法可接收查詢結(jié)果。其中,cur.fetchall()方法返回的是,以每條記錄為一個(gè)元組,再以元組作為元素的二維數(shù)據(jù)集列表,而cur.fetchone()方法則只返回第一條記錄的元組類型結(jié)果。11.1.2
游標(biāo)對(duì)象和SQL查詢【例11-3】編寫Python程序,對(duì)例11-1創(chuàng)建的student庫,根據(jù)所輸入的專業(yè)查詢學(xué)生學(xué)號(hào)、姓名和性別。11.1.2
游標(biāo)對(duì)象和SQL查詢02訪問Access、MySQL和SQLServer數(shù)據(jù)庫PARTTWO11.2
訪問Access、MySQL和SQLServer數(shù)據(jù)庫Python可支持訪問不同的數(shù)據(jù)庫。但由于不同數(shù)據(jù)庫及其服務(wù)的通信協(xié)議各有不同,利用早期版本訪問不同數(shù)據(jù)庫時(shí)需要不同代碼的支持,而PythonDB-API作為Python標(biāo)準(zhǔn)數(shù)據(jù)庫接口的誕生,為Python數(shù)據(jù)庫應(yīng)用提供了標(biāo)準(zhǔn)的編程接口。它支持MySQL、PostgreSQL、MicrosoftSQLServer、Oracle、Sybase等常用數(shù)據(jù)庫。即使所需連接的數(shù)據(jù)庫底層服務(wù)協(xié)議不同,也能夠以標(biāo)準(zhǔn)的DB-API接口實(shí)現(xiàn)訪問。利用Windows對(duì)各種數(shù)據(jù)庫驅(qū)動(dòng)的開放數(shù)據(jù)庫連接接口(OpenDatabaseConnectivity,ODBC),也可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的標(biāo)準(zhǔn)訪問。通過標(biāo)準(zhǔn)的DB-API訪問各類數(shù)據(jù)庫通常如同11.1節(jié)訪問SQLite數(shù)據(jù)庫一樣,也需要經(jīng)歷如下步驟。①用connect()方法創(chuàng)建數(shù)據(jù)庫連接對(duì)象conn。②如果需要對(duì)表進(jìn)行創(chuàng)建新表、插入數(shù)據(jù)、修改或刪除數(shù)據(jù)操作,可使用conn.execute()方法,并使用mit()方法提交事務(wù)。③如果需要查詢操作,應(yīng)先使用conn.cursor()方法返回游標(biāo)對(duì)象cur,然后執(zhí)行curexecute()方法進(jìn)行查詢。④調(diào)用curfetchone()、curfetchmany()或cur.fetchall()方法返回查詢結(jié)果。⑤最后關(guān)閉cur和conn對(duì)象。其中,對(duì)不同類型的數(shù)據(jù)庫需要引用不同的標(biāo)準(zhǔn)庫,用不同的語句創(chuàng)建數(shù)據(jù)庫連接對(duì)象。11.2
訪問Access、MySQL和SQLServer數(shù)據(jù)庫1用ODBC創(chuàng)建數(shù)據(jù)庫連接對(duì)象要實(shí)現(xiàn)對(duì)Access數(shù)據(jù)庫文件的訪問,可通過引用第三方庫pyodbc,利用Windows的ODBC創(chuàng)建數(shù)據(jù)庫連接對(duì)象。用此方法也可以實(shí)現(xiàn)對(duì)Excel文件和dBase、Foxpro、SQLServer等微軟數(shù)據(jù)庫的訪問。預(yù)先安裝pyodbc庫,然后用下列語句建立數(shù)據(jù)庫連接對(duì)象:11.2
訪問Access、MySQL和SQLServer數(shù)據(jù)庫2對(duì)MySQL創(chuàng)建數(shù)據(jù)庫連接對(duì)象MySQL數(shù)據(jù)庫是近年來流行的開源關(guān)系型數(shù)據(jù)庫,對(duì)其建立連接對(duì)象需要預(yù)先安裝PyMySQL庫,然后用下列語句創(chuàng)建:11.2
訪問Access、MySQL和SQLServer數(shù)據(jù)庫SQLServer數(shù)據(jù)庫是微軟主流的大型關(guān)系型數(shù)據(jù)庫,對(duì)其建立連接對(duì)象需要預(yù)先安裝pymssq1庫,然后用下列語句創(chuàng)建:數(shù)據(jù)庫連接對(duì)象建立后,對(duì)各類數(shù)據(jù)庫的訪問操作方法均與前面介紹的對(duì)SQLite數(shù)據(jù)庫的訪問操作類似,這里不再贅述。值得注意的是,由于目前各類數(shù)據(jù)庫的編碼不統(tǒng)一,因此對(duì)中文查詢的支持尚不夠理想。3對(duì)SQLServer創(chuàng)建數(shù)據(jù)庫連接對(duì)象11.2
訪問Access、MySQL和SQLServer數(shù)據(jù)庫【例11-4】編寫Python程序,分別在用ODBC創(chuàng)建的數(shù)據(jù)庫student.accdb,以及MySQL數(shù)據(jù)庫student(數(shù)據(jù)庫地址53,root密碼為test1234)和SQLServer數(shù)據(jù)庫student(數(shù)據(jù)庫地址53,sa密碼為test1234)的base表中,查詢身高(height)181cm以上的學(xué)生學(xué)號(hào)、姓名和性別11.2
訪問Access、MySQL和SQLServer數(shù)據(jù)庫11.2
訪問Access、MySQL和SQLServer數(shù)據(jù)庫第十二章基于第三方庫的應(yīng)用舉例高等學(xué)校計(jì)算機(jī)類特別教材上海市高等學(xué)校信息技術(shù)水平考試參考教材Python程序設(shè)計(jì)基礎(chǔ)了解用openpyxl等第三方庫操作Excel文件的方法。了解用Pillow等第三方庫編輯圖像文件的方法。本章教學(xué)目標(biāo)01對(duì)Excel文件的操作PARTONE12.1
對(duì)Excel文件的操作常見的Python第三方庫有xlrd、xlwt、xluntils、pyExcelerator、openpyxl、xlsxwriter等,它們都可以跨平臺(tái)對(duì)Excel文件進(jìn)行操作,不需要在系統(tǒng)中安裝Office辦公軟件。此外,在Windows中,Python還可以利用win32com調(diào)用系統(tǒng)中已安裝的Office辦公軟件對(duì)Excel文件進(jìn)行操作。xlrd、xlwt、xuntis和pyExcelerator可處理.xls文件,網(wǎng)上資源較多,其中,前兩者分別司職讀和寫,后兩者讀和寫均可,但功能偏少。對(duì)于Office2007版以后的.xlsx文件,則只有openpyxl和xlsxwriter可以處理。其中,xlsxwriter對(duì).xlsx文件的寫操作功能非常專業(yè),設(shè)置單元格格式、合并單元格、檢查數(shù)據(jù)有效性,以及創(chuàng)建圖表、公式、宏等操作,幾乎應(yīng)有盡有,美中不足的是沒有讀取功能。而openpyxl雖然功能不夠強(qiáng)大,但讀和寫均可,能滿足基本操作的要求。本節(jié)以openpyxl為例進(jìn)行介紹。12.1
對(duì)Excel文件的操作12.1.1
用openpyxl在內(nèi)存中創(chuàng)建工作簿在連網(wǎng)狀態(tài)下,用“C:IPython3lscripts'pip.exeinstallopenpyxl”命令即可快速安裝openpyxl。要對(duì)Excel文件進(jìn)行操作,必須明確其中工作簿、工作表對(duì)象的概念層次,習(xí)慣上分別對(duì)應(yīng)以下實(shí)例名稱:wb和ws若從新建工作簿開始,可先在內(nèi)存中創(chuàng)建工作簿(虛擬的Excel文件),例如:此時(shí)wb為內(nèi)存中的工作簿實(shí)例,并有一個(gè)名為Sheet的空工作表。要將磁盤中已有的Excel工作簿文件裝入內(nèi)存中,可用:由于操作是在內(nèi)存中完成的,并沒有寫入文件,看不到文件中的變化,且此時(shí)Excel文件并未被獨(dú)占,仍可以被其他程序打開。直到調(diào)用wb.save(filename=<xlsx文件路徑及名稱>)才最終寫入文件。用工作簿實(shí)例的active屬性可將當(dāng)前工作表指定為活動(dòng)工作表,例如:12.1.1
用openpyxl在內(nèi)存中創(chuàng)建工作簿可在工作簿中創(chuàng)建新的工作表實(shí)例,并直接將其指定為活動(dòng)工作表,例如:或直接定義工作表實(shí)例:對(duì)于已有的工作簿實(shí)例可定義要操作的工作表實(shí)例,例如:12.1.1
用openpyxl在內(nèi)存中創(chuàng)建工作簿12.1.2數(shù)據(jù)的讀取使用openpyxl可以直接訪問活動(dòng)工作表中的單元格,例如:cell_A4=ws['A4']這里,cell_A4實(shí)例的類型是單元格,其值為cell_A4.value。也可以直接以行、定位方式訪問單元格,讀取其中的數(shù)據(jù)或進(jìn)行賦值,例如:cell_B4=ws.cell(row=4,column=2,value='上海市')注意,Excel中的行和列參數(shù)row和column都是從1開始的,與Python中其他對(duì)象從0開始的指針下標(biāo)習(xí)慣不一致。如果需要遍歷整個(gè)工作表中有數(shù)據(jù)的所有單元格,可以調(diào)用openpyxl.worksheetWorksheetrows()方法,將其用tuple()方法轉(zhuǎn)換為元組類型,即可得到以每行元組為元素的二維元組,如果是空工作表則返回空元組。例如,對(duì)于單元格A1:C9中包含有效數(shù)據(jù)的工作表ws:12.1.2數(shù)據(jù)的讀取同樣,調(diào)用openpyxl.worksheet.Workshect.columns()方法,將其用tuple()方法轉(zhuǎn)換為元組類型,即可得到以每列元組為元素的二維元組。例如,上表可以改為:12.1.2數(shù)據(jù)的讀取如果需要讀取工作表中的部分?jǐn)?shù)據(jù),則可以使用單元格區(qū)間、列區(qū)間和行區(qū)間,例如:openpyxl并沒有提供獲取有效行數(shù)和列數(shù)的方法,但可以用len()方法獲取。有效行數(shù)為len(uple(ws.rows)),有效列數(shù)為len(tuple(ws.columns))。12.1.2數(shù)據(jù)的讀取12.1.3
編輯和保存Excel中的單元格除可以賦值為字符串、整數(shù)和浮點(diǎn)數(shù)外,還可以接收日期、百分?jǐn)?shù)、公式等賦值,例如:若數(shù)據(jù)以每行元組(或列表)為元素的二維元組(或列表)的形式存在,則可利用循環(huán)語句將數(shù)據(jù)寫入活動(dòng)工作表中。例如,對(duì)于以每行數(shù)據(jù)列表為元素的二維列表rows,用下列循環(huán)語句寫入工作表中:1賦值工作表對(duì)象的merge_cells()和unmerge_cells()方法可使用單元格名稱字符串或起止行、列作為參數(shù),例如:2合并與拆分單元格12.1.3
編輯和保存導(dǎo)入openpyxl.styles,可利用Font()(字體)、Color()(顏色)、Border()(加粗)、Side()(邊緣)、PattemFil()(填充)、Alignment()(排列)、Protection()(鎖定)等方法設(shè)定單元格的格式化屬性。例如:3單元格格式化12.1.3
編輯和保存導(dǎo)入openpyxlchart可創(chuàng)建二維或三維圖表。以直方圖為例,用chart=BarChart()實(shí)例化直方圖對(duì)象,用Reference()方法實(shí)例化圖表數(shù)據(jù)對(duì)象和坐標(biāo)軸數(shù)據(jù)對(duì)象,用chart.add_data()方法繪圖,其范圍選擇符合Excel中的語法習(xí)慣,用chart.set_categories()方法添加坐標(biāo)數(shù)據(jù),最后用chart.add_chart()方法將圖表插入活動(dòng)工作表的指定起始單元格中。4圖表12.1.3
編輯和保存【例12-1】編寫程序,將實(shí)驗(yàn)數(shù)據(jù)和直方圖寫入文件test_barcart.xlsx中,結(jié)果如圖12-1所示。12.1.3
編輯和保存最后,調(diào)用wb.save(<xlsx文件路徑及名稱>)可覆蓋性寫入文件。由于Excel文件的獨(dú)占性,只能對(duì)未同時(shí)被其他程序打開的.xlsx文件寫入。用openpyxl還可實(shí)現(xiàn)條件格式、數(shù)據(jù)有效性規(guī)則驗(yàn)證,以及進(jìn)一步調(diào)用pandas和numpy庫進(jìn)行數(shù)據(jù)分析,限于篇幅,不再一一贅述。讀者可參照相關(guān)網(wǎng)站。5保存12.1.3
編輯和保存【例12-2】打開文件C:/pyxl/test.xlsx,對(duì)Sheetl表的D列中相同內(nèi)容的相鄰行進(jìn)行合并單元格操作。12.1.3
編輯和保存02圖像操作PARTTWO12.2
圖像操作PIL(PythonImagingLibrary)是著名的圖像處理第三方庫,包含基本的圖像處理、特效合成、濾鏡等方法。Pillow庫是PIL在Python3中的替代版本。在連網(wǎng)狀態(tài)下,用“C:Python31scripts'pip.exeinstallpillow”命令即可快速安裝Pillow庫。Pillow庫中除核心模塊Image外,還包含ImageChops(圖像計(jì)算)、ImageEnhance(圖像效果)、ImageFilter(濾鏡)、ImageDraw(繪圖)等主要模塊。12.2.1Image模塊及其應(yīng)用Image模塊中常用的函數(shù)說明如下。(1)圖像打開函數(shù)
open(file,openmode)其中,file和openmode分別為文件名和打開方式(默認(rèn)為'r,只讀)。(2)新建圖像函數(shù)
new(mode,size,color=0)其中,mode為圖像色彩模式,取值為RGB'、'CMYK'、'LAB'等;size為圖像大小,是由水平像素?cái)?shù)與垂直像素?cái)?shù)組成的元組;color為顏色,默認(rèn)為黑色(0)。(3)復(fù)制圖像函數(shù)
copy()其功能是將圖像對(duì)象復(fù)制到內(nèi)存中。(4)粘貼圖像函數(shù)
paste(region,size)其功能是將內(nèi)存中的圖像粘貼到對(duì)象region中。其中,region為粘貼對(duì)象,size為圖像大小。(5)顯示圖像函數(shù)show()其功能是顯示內(nèi)存中的圖像。(6)重新設(shè)置大小函數(shù)resize(size)其中,size為圖像大小,是由水平像素?cái)?shù)與垂直像素?cái)?shù)組成的元組。12.2.1Image模塊及其應(yīng)用(7)圖像旋轉(zhuǎn)函數(shù)
rotate(angle)其中,angle為旋轉(zhuǎn)角度。(8)圖像變換函數(shù)
transpose(method)其中,method可選項(xiàng)有FLIP_LEFT_RIGHT(左右鏡像)、FLIP_TOP_BOTTOM(上下鏡像)、ROTATE_90(順時(shí)針90°)、ROTATE_180(順時(shí)針180°)、ROTATE_270(逆時(shí)針90°)等。(9)圖像裁剪函數(shù)crop((x1,yl,x2,y2))其中,各參數(shù)為自左上角點(diǎn)至右下角點(diǎn)的坐標(biāo)元組。(10)縮略圖函數(shù)thumbnail(size)其中,size為縮略圖大小。12.2.1Image模塊及其應(yīng)用(11)轉(zhuǎn)換函數(shù)
convert(mode)其功能是轉(zhuǎn)換圖像色彩模式。其中,mode可取值為'RGB'、'CMYK'、'LAB'等。(12)混合圖像函數(shù)
blend(iml,im2,alpha)其中,iml、im2相當(dāng)于P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人房產(chǎn)抵押擔(dān)保貸款保險(xiǎn)合同范本2篇
- 二零二五年度車輛運(yùn)輸水工鵝卵石運(yùn)輸協(xié)議3篇
- 2025年個(gè)人股東股權(quán)增資擴(kuò)股合同模板4篇
- 設(shè)計(jì)思維解鎖創(chuàng)意潛能的鑰匙
- 2025年度大學(xué)生實(shí)習(xí)實(shí)訓(xùn)基地實(shí)習(xí)崗位合作協(xié)議
- 2025年度個(gè)人戶外運(yùn)動(dòng)裝備過橋資金借款合同3篇
- 網(wǎng)絡(luò)安全實(shí)訓(xùn)室的應(yīng)急預(yù)案制定及實(shí)施
- 2025年度工傷賠償協(xié)議范本發(fā)布通知3篇
- 二零二五年度車牌號(hào)碼拍賣合同書4篇
- 2025版新型材料研發(fā)項(xiàng)目施工保密協(xié)議書3篇
- 合成生物學(xué)在生物技術(shù)中的應(yīng)用
- 中醫(yī)門診病歷
- 廣西華銀鋁業(yè)財(cái)務(wù)分析報(bào)告
- 無違法犯罪記錄證明申請(qǐng)表(個(gè)人)
- 電捕焦油器火災(zāi)爆炸事故分析
- 大學(xué)生勞動(dòng)教育PPT完整全套教學(xué)課件
- 繼電保護(hù)原理應(yīng)用及配置課件
- 《殺死一只知更鳥》讀書分享PPT
- 蓋洛普Q12解讀和實(shí)施完整版
- 2023年Web前端技術(shù)試題
- 品牌策劃與推廣-項(xiàng)目5-品牌推廣課件
評(píng)論
0/150
提交評(píng)論