pythoncairo
1. 用python GUI的while或if來排序
fromTkinterimport*
deftosort(event=None):
num1=var1.get()
num2=var2.get()
num3=var3.get()
ifnum1>num3:num1,num3=num3,num1
ifnum2>num3:num2,num3=num3,num2
ifnum1>num2:num1,num2=num2,num1
var4.set("%d%d%d"%(num1,num2,num3))
root=Tk()
var1=IntVar()
var2=IntVar()
var3=IntVar()
Label(root,text="numberone").grid(row=0,column=0)
Scale(root,from_=1,to=100,orient=HORIZONTAL,variable=var1).grid(row=0,column=1)
Label(root,text="numbertwo").grid(row=1,column=0)
Scale(root,from_=1,to=100,orient=HORIZONTAL,variable=var2).grid(row=1,column=1)
Label(root,text="numberthree").grid(row=2,column=0)
Scale(root,from_=1,to=100,orient=HORIZONTAL,variable=var3).grid(row=2,column=1)
Button(root,text="sort",command=tosort).grid(row=3,columnspan=2)
var4=StringVar()
Entry(root,textvariable=var4,state="disable").grid(row=4,columnspan=3,sticky=W+E)
root.mainloop()
2. 常用的十大python圖像處理工具
原文標題:10 Python image manipulation tools.
作者 | Parul Pandey
翻譯 | 安其羅喬爾、JimmyHua
今天,在我們的世界裡充滿了數據,圖像成為構成這些數據的重要組成部分。但無論是用於何種用途,這些圖像都需要進行處理。圖像處理就是分析和處理數字圖像的過程,主要旨在提高其質量或從中提取一些信息,然後可以將其用於某種用途。
圖像處理中的常見任務包括顯示圖像,基本操作如裁剪、翻轉、旋轉等,圖像分割,分類和特徵提取,圖像恢復和圖像識別。Python成為這種圖像處理任務是一個恰當選擇,這是因為它作為一種科學編程語言正在日益普及,並且在其生態系統中免費提供許多最先進的圖像處理工具供大家使用。
讓我們看一下可以用於圖像處理任務中的常用 Python 庫有哪些吧。
1.scikit-image
scikit-image是一個開源的Python包,適用於numpy數組。它實現了用於研究,教育和工業應用的演算法和實用工具。即使是那些剛接觸Python生態系統的人,它也是一個相當簡單直接的庫。此代碼是由活躍的志願者社區編寫的,具有高質量和同行評審的性質。
資源
文檔里記錄了豐富的例子和實際用例,閱讀下面的文檔:
http://scikit-image.org/docs/stable/user_guide.html
用法
該包作為skimage導入,大多數功能都在子模塊中找的到。下面列舉一些skimage的例子:
圖像過濾
使用match_template函數進行模板匹配
你可以通過此處查看圖庫找到更多示例。
2. Numpy
Numpy是Python編程的核心庫之一,並為數組提供支持。圖像本質上是包含數據點像素的標准Numpy數組。因此,我們可以通過使用基本的NumPy操作,例如切片、掩膜和花式索引,來修改圖像的像素值。可以使用skimage載入圖像並使用matplotlib顯示圖像。
資源
Numpy的官方文檔頁面提供了完整的資源和文檔列表:
http://www.numpy.org/
用法
使用Numpy來掩膜圖像.
3.Scipy
scipy是Python的另一個類似Numpy的核心科學模塊,可用於基本的圖像操作和處理任務。特別是子模塊scipy.ndimage,提供了在n維NumPy數組上操作的函數。該包目前包括線性和非線性濾波,二值形態學,B樣條插值和對象測量等功能函數。
資源
有關scipy.ndimage包提供的完整功能列表,請參閱下面的鏈接:
https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution
用法
使用SciPy通過高斯濾波器進行模糊:
4. PIL/ Pillow
PIL( Python圖像庫 )是Python編程語言的一個免費庫,它支持打開、操作和保存許多不同的文件格式的圖像。然而, 隨著2009年的最後一次發布,它的開發停滯不前。但幸運的是還有有Pillow,一個PIL積極開發的且更容易安裝的分支,它能運行在所有主要的操作系統,並支持Python3。這個庫包含了基本的圖像處理功能,包括點運算、使用一組內置卷積核的濾波和色彩空間的轉換。
資源
文檔中有安裝說明,以及涵蓋庫的每個模塊的示例:
https://pillow.readthedocs.io/en/3.1.x/index.html
用法
在 Pillow 中使用 ImageFilter 增強圖像:
5. OpenCV-Python
OpenCV( 開源計算機視覺庫 )是計算機視覺應用中應用最廣泛的庫之一 。OpenCV-Python 是OpenCV的python版API。OpenCV-Python的優點不只有高效,這源於它的內部組成是用C/C++編寫的,而且它還容易編寫和部署(因為前端是用Python包裝的)。這使得它成為執行計算密集型計算機視覺程序的一個很好的選擇。
資源
OpenCV-Python-Guide指南可以讓你使用OpenCV-Python更容易:
https://github.com/abidrahmank/OpenCV2-Python-Tutorials
用法
下面是一個例子,展示了OpenCV-Python使用金字塔方法創建一個名為「Orapple」的新水果圖像融合的功能。
6. SimpleCV
SimpleCV 也是一個用於構建計算機視覺應用程序的開源框架。有了它,你就可以訪問幾個高性能的計算機視覺庫,如OpenCV,而且不需要先學習了解位深度、文件格式、顏色空間等。
它的學習曲線大大小於OpenCV,正如它們的口號所說「計算機視覺變得簡單」。一些支持SimpleCV的觀點有:
即使是初學者也可以編寫簡單的機器視覺測試攝像機、視頻文件、圖像和視頻流都是可互操作的資源
官方文檔非常容易理解,而且有大量的例子和使用案例去學習:
https://simplecv.readthedocs.io/en/latest/
用法
7. Mahotas
Mahotas 是另一個計算機視覺和圖像處理的Python庫。它包括了傳統的圖像處理功能例如濾波和形態學操作以及更現代的計算機視覺功能用於特徵計算,包括興趣點檢測和局部描述符。該介面是Python語言,適合於快速開發,但是演算法是用C語言實現的,並根據速度進行了調優。Mahotas庫速度快,代碼簡潔,甚至具有最小的依賴性。通過原文閱讀它們的官方論文以獲得更多的了解。
資源
文檔包括安裝指導,例子,以及一些教程,可以更好的幫助你開始使用mahotas。
https://mahotas.readthedocs.io/en/latest/install.html
用法
Mahotas庫依賴於使用簡單的代碼來完成任務。關於『Finding Wally』的問題,Mahotas做的很好並且代碼量很少。下面是源碼:
https://mahotas.readthedocs.io/en/latest/wally.html
8. SimpleITK
ITK 或者 Insight Segmentation and Registration Toolkit是一個開源的跨平台系統,為開發人員提供了一套廣泛的圖像分析軟體工具 。其中, SimpleITK是建立在ITK之上的簡化層,旨在促進其在快速原型設計、教育、解釋語言中的應用。SimpleITK 是一個圖像分析工具包,包含大量支持一般過濾操作、圖像分割和匹配的組件。SimpleITK本身是用C++寫的,但是對於包括Python以內的大部分編程語言都是可用的。
資源
大量的Jupyter Notebooks 表明了SimpleITK在教育和研究領域已經被使用。Notebook展示了用Python和R編程語言使用SimpleITK來進行互動式圖像分析。
http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/
用法
下面的動畫是用SimpleITK和Python創建的剛性CT/MR匹配過程的可視化 。點擊此處可查看源碼!
9. pgmagick
pgmagick是GraphicsMagick庫的一個基於python的包裝。 GraphicsMagick圖像處理系統有時被稱為圖像處理的瑞士軍刀。它提供了一個具有強大且高效的工具和庫集合,支持以88種主要格式(包括重要格式,如DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF)讀取、寫入和操作圖像。
資源
有一個專門用於PgMagick的Github庫 ,其中包含安裝和需求說明。還有關於這個的一個詳細的用戶指導:
https://github.com/hhatto/pgmagick
用法
使用pgmagick可以進行的圖像處理活動很少,比如:
圖像縮放
邊緣提取
10. Pycairo
Pycairo是圖像處理庫cairo的一組Python捆綁。Cairo是一個用於繪制矢量圖形的2D圖形庫。矢量圖形很有趣,因為它們在調整大小或轉換時不會失去清晰度 。Pycairo是cairo的一組綁定,可用於從Python調用cairo命令。
資源
Pycairo的GitHub庫是一個很好的資源,有關於安裝和使用的詳細說明。還有一個入門指南,其中有一個關於Pycairo的簡短教程。
庫:https://github.com/pygobject/pycairo指南:https://pycairo.readthedocs.io/en/latest/tutorial.html用法
使用Pycairo繪制線條、基本形狀和徑向梯度:
總結
有一些有用且免費的Python圖像處理庫可以使用,有的是眾所周知的,有的可能對你來說是新的,試著多去了解它們。
3. python 能開發 Android 應用嗎
python可以開發Android應用。
Python是一種解釋型腳本語言,可以應用於以下領域:
1、Web 和 Internet開發;
2、科學計算和統計;
3、人工智慧;
4、教育;
5、桌面界面開發;
6、軟體開發;
7、後端開發。
(3)pythoncairo擴展閱讀:
操作系統與應用程序的溝通橋梁,應用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari 瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。
Android採用OpenCORE作為基礎多媒體框架。
Open CORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
Android 使用skia 為核心圖形引擎,搭配OpenGL/ES。skia與linux Cairo功能相當,但相較於Linux Cairo, skia 功能還只是雛形的。
2005年Skia公司被Google收購,2007年初,Skia GL源碼被公開,Skia 也是Google Chrome 的圖形引擎。
Android的多媒體資料庫採用SQLite資料庫系統。資料庫又分為共用資料庫及私用資料庫。用戶可通過ContentResolver類(Column)取得共用資料庫。
Android的中間層多以Java 實現,並且採用特殊的Dalvik 虛擬機(Dalvik Virtual Machine)。Dalvik虛擬機是一種「暫存器型態」(Register Based)的Java虛擬機,變數皆存放於暫存器中,虛擬機的指令相對減少。
Dalvik虛擬機可以有多個實例(Instance), 每個Android應用程序都用一個自屬的Dalvik虛擬機來運行,讓系統在運行程序時可達到優化。Dalvik 虛擬機並非運行Java位元組碼(Bytecode),而是運行一種稱為.dex格式的文件。
參考資料:網路-Android
4. python在ubuntu13下有沒有什麼好用的報表啊
有啊,我給你介紹幾個,都挺好的。
1.matplotlib,官網:它利用了 Python 下的數值計算模塊 Numeric 及 Numarray,克隆了許多 Matlab 中的函數, 用以幫助用戶輕松地獲得高質量的二維圖形。Matplotlib 可以繪制多種形式的圖形包括普通的線圖,直方圖,餅圖,散點圖以及誤差線圖等;可以比較方便的定製圖形的各種屬性比如圖線的類型,顏色,粗細,字體的大小 等;它能夠很好地支持一部分 TeX 排版命令,可以比較美觀地顯示圖形中的數學公式。個人比較推薦這個類庫。查看例子。
2.Cairoplot,官網:Cairoplot在網頁上的表現力堪比flex中的圖表圖形效果。但是這個似乎只能跑在linux平台上
3.Python Google Chart,:該類庫是對Google chart API的一個完整封裝。
4.PyCha,官網:PyCha可是說是Cairo 類庫的一個簡單封裝,為了是實現輕量級,以及容易使用,當然還做了一些優化等。
5.pyOFC2,它是Open Falsh Library的Python類庫。所以圖形具有Flash效果,可以隨滑鼠移動動態顯示圖標中信息,這是優越於其他靜態圖示的。
6.Pychart。pyChart是用於創建高品質封裝的PostScript,PDF格式,PNG,或SVG圖表Python庫。
7.PLPlot,官網:PLPlot是用於創建科學圖表的跨平台軟體包。以C類庫為核心,支持各種語言綁定(C, C++, Fortran, Java, Python, Perl etc.)。開源免費。
8.reportlab,這個類庫支持在pdf中畫圖表。
5. 請教,ubuntu10.04下,如何卸載python2.7.8
代碼:
$ ./configure --prefix=/usr/include
$ make
$ sudo checkinstall
然後,python2.7文件夾出現在/usr/include/bin、/usr/include/liclude和/usr/include/lib中,
輸入
代碼:
$ python --version
python 2.6.5
但是,卻出現如下提示:
[text]
$ sudo apt-get autoremove
正在讀取軟體包列表... 完成
正在分析軟體包的依賴關系樹
正在讀取狀態信息... 完成
您也許需要運行「apt-get -f install」來修正上面的錯誤。
下列軟體包有未滿足的依賴關系:
command-not-found: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
computer-janitor: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
computer-janitor-gtk: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
gdebi: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
gdebi-core: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
jockey-common: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
lsb-release: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
nvidia-common: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-appindicator: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-apport: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-apt: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-aptdaemon: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-aptdaemon-gtk: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-brlapi: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-cairo: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-crypto: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-cups: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-dbus: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-egenix-mxdatetime: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-egenix-mxtools: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-farsight: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gconf: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gdbm: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-glade2: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gmenu: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gnome2: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gnomeapplet: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gnomecanvas: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gnomekeyring: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gobject: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gst0.10: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gtk2: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gtksourceview2: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-gtkspell: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-imaging: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-indicate: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-launchpad-integration: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-libxml2: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-newt: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-notify: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-openssl: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-pam: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-pkg-resources: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-problem-report: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-pycurl: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-pygoocanvas: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-pyorbit: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-rdflib: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-setuptools: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-simplejson: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-smbc: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-software-properties: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-twisted-bin: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-twisted-core: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-virtkey: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-vte: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-webkit: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-wnck: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-xapian: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
python-zope.interface: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
screen-resolution-extra: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
software-properties-gtk: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
ufw: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
update-manager: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
update-manager-core: 依賴: python (< 2.7) 但是 2.7.8-1 已經安裝
6. python設計gui後怎麼使用
Python自帶了一個基於TkInter的
GUI庫
,如果你不想引入第三方的依賴性,這就是唯一的選擇。
如果你在
Mac下寫程序的話,Cocoa+PyObjC也不錯。
另外,Java版的Python,也就是Jython,可以使用Java的GUI庫如AWT/Swing或者SWT;.Net/CLI版的IronPython可以使用.Net/CLI支持的GUI庫如WinForm或WPF等,如果你需要在項目中集成Java或者.Net功能,這也是最佳的選擇。