① 幫我看看這段代碼有什麼問題(python)謝啦
當前目錄下沒有beach_ball.png
測試時隨便放了一張圖並改名beach_ball.png沒有出錯
② python怎麼用PIL模塊處理BMP圖像 二值化
Pillow 提供了一個 .load() 方法,用來處理像素。圖片嘛,當然是二維的,有寬和高的。
pixels = image.load()
for x in ramge(image.width):
for y in range(image.height):
pixsels[x, y] = 255 if pixsels[x, y] > 125 else 0
當然了,只是最簡單的二值化的話,直接 image.convert('1') 就可以了 :-)
③ python裡面pygame打不開圖片
You should use os.path.join() for compatibility.----from pygame
試試pygame.image.load(os.path.join('文件目錄', '文件名'))
假如圖片路徑為E:\exercise\Python3.6.0\image.jpg,則可寫:
pygame.image.load(os.path.join(r'E:\exercise\Python3.6.0', 'image.jpg'))
④ python 圖片移動
#-*-coding:gbk-*-
importImage
importImageDraw
importImageChops
im=Image.new('RGB',(800,600),'white')
im2=Image.open('test.png')
#測試圖放畫布左邊,畫布右邊底色塗黃
left=(im.size[0]/2-im2.size[0])/2
upper=(im.size[1]-im2.size[1])/2
im.paste(im2,(left,upper))
im.paste('yellow',(im.size[0]/2,0)+im.size)
im.show()
#因要旋轉得計算測試圖對角線,然後切出
d=int((im2.size[0]**2+im2.size[1]**2)**0.5)
left=(im.size[0]/2-d)/2
upper=(im.size[1]-d)/2
bbox=(left,upper,left+d,upper+d)
cp=im.crop(bbox)
#圖底不是黑先做mask再作旋轉,
#mask做法不一,按測試圖可選取g或b通道
r,g,b=cp.split()
mask=g.point(lambdai:i<250and255)
angle=30
mask=mask.rotate(angle)
cp=cp.rotate(angle)
#利用mask貼在畫布右邊黃底區內
im.paste(cp,(left+im.size[0]/2,upper),mask)
im.show()
⑤ 怎樣使用Python圖像處理
Python圖像處理是一種簡單易學,功能強大的解釋型編程語言,它有簡潔明了的語法,高效率的高層數據結構,能夠簡單而有效地實現面向對象編程,下文進行對Python圖像處理進行說明。
當然,首先要感謝「戀花蝶」,是他的文章「用Python圖像處理 」 幫我堅定了用Python和PIL解決問題的想法,對於PIL的一些介紹和基本操作,可以看看這篇文章。我這里主要是介紹點我在使用過程中的經驗。
PIL可以對圖像的顏色進行轉換,並支持諸如24位彩色、8位灰度圖和二值圖等模式,簡單的轉換可以通過Image.convert(mode)函數完 成,其中mode表示輸出的顏色模式。例如''L''表示灰度,''1''表示二值圖模式等。
但是利用convert函數將灰度圖轉換為二值圖時,是採用固定的閾 值127來實現的,即灰度高於127的像素值為1,而灰度低於127的像素值為0。為了能夠通過自定義的閾值實現灰度圖到二值圖的轉換,就要用到 Image.point函數。
深度剖析Python語法功能
深度說明Python應用程序特點
對Python資料庫進行學習研究
Python開發人員對Python經驗之談
對Python動態類型語言解析
Image.point函數有多種形式,這里只討論Image.point(table, mode),利用該函數可以通過查表的方式實現像素顏色的模式轉換。其中table為顏色轉換過程中的映射表,每個顏色通道應當有256個元素,而 mode表示所輸出的顏色模式,同樣的,''L''表示灰度,''1''表示二值圖模式。
可見,轉換過程的關鍵在於設計映射表,如果只是需要一個簡單的箝位值,可以將table中高於或低於箝位值的元素分別設為1與0。當然,由於這里的table並沒有什麼特殊要求,所以可以通過對元素的特殊設定實現(0, 255)范圍內,任意需要的一對一映射關系。
示例代碼如下:
import Image # load a color image im = Image.open(''fun.jpg'') # convert to grey level image Lim = im.convert(''L'') Lim.save(''fun_Level.jpg'') # setup a converting table with constant threshold threshold = 80 table = [] for i in range(256): if i < threshold: table.append(0) else: table.append(1) # convert to binary image by the table bim = Lim.point(table, ''1'') bim.save(''fun_binary.jpg'')
IT部分通常要完成的任務相當繁重但支撐這些工作的資源卻很少,這已經成為公開的秘密。任何承諾提高編碼效率、降低軟體總成本的IT解決方案都應該進行 周到的考慮。Python圖像處理所具有的一個顯著優勢就是可以在企業的軟體創建和維護階段節約大量資金,而這兩個階段的軟體成本佔到了軟體整個生命周期中總成本 的50%到95%。
Python清晰可讀的語法使得軟體代碼具有異乎尋常的易讀性,甚至對那些不是最初接觸和開發原始項目的程序員都 能具有這樣的強烈感覺。雖然某些程序員反對在Python代碼中大量使用空格。
不過,幾乎人人都承認Python圖像處理的可讀性遠勝於C或者Java,後兩 者都採用了專門的字元標記代碼塊結構、循環、函數以及其他編程結構的開始和結束。提倡Python的人還宣稱,採用這些字元可能會產生顯著的編程風格差 異,使得那些負責維護代碼的人遭遇代碼可讀性方面的困難。轉載
⑥ 為什麼python這個代碼寫出來的圖片不顯示
傳入的 C:xxx 是目錄,且存在?且下面有文件么?
Import os.path
對目錄進行下判斷吧: os.path.isdir
文件路徑的拼裝用os.path.join
讀文件不用while,
for line in f:
print line
⑦ 如何在python中讀取bmp格式圖片文件
直接用open打開後read讀取
A=open('test.bmp','rb')
B=open('test2.bmp','w')
c=A.read()
B.write(c)
A.close()
B.close()
⑧ python 怎麼使用pyglet第三方庫
先提供官網:
http://pyglet.org/
我們知道python 本身提供了界面庫和多媒體庫,但是確實不好用。
我們在界面的時候可以使用PyQT庫,和xWidget。而開發多媒體的時候則用本文提到的pyglet庫。先來看看這些特性:
可以播放所有的音頻和視頻,例如mp3, ogg/Vorbis, wma, DivX, mpeg-2, h264, wmv, Xvid.
更重要的他是免費的,遵循BSD開源軟體協議。你可以在你的商業軟體中去使用它。
下載它就去官網:
http://pyglet.org/
網站有詳細的文檔介紹怎麼安裝和使用。
下面列出它所提供的模塊,其實從下列列表中你也能知道它能做些什麼了:
Submoles
pyglet.app
Application-wide functionality.
pyglet.clock
Precise framerate calculation, scheling and framerate limiting.
pyglet.event
Event dispatch framework.
pyglet.font
Load fonts and render text.
pyglet.font.base
Abstract classes used by pyglet.font implementations.
pyglet.gl
OpenGL and GLU interface.
pyglet.gl.gl_info
Information about version and extensions of current GL implementation.
pyglet.gl.glu_info
Information about version and extensions of current GLU implementation.
pyglet.graphics
Low-level graphics rendering.
pyglet.graphics.allocation
Memory allocation algorithm for vertex arrays and buffers.
pyglet.graphics.vertexattribute
Access byte arrays as arrays of vertex attributes.
pyglet.graphics.vertexbuffer
Byte abstractions of Vertex Buffer Objects and vertex arrays.
pyglet.graphics.vertexdomain
Manage related vertex attributes within a single vertex domain.
pyglet.image
Image load, capture and high-level texture functions.
pyglet.image.atlas
Group multiple small images into larger textures.
pyglet.info
Get environment information useful for debugging.
pyglet.media
Audio and video playback.
pyglet.resource
Load application resources from a known path.
pyglet.sprite
Display positioned, scaled and rotated images.
pyglet.text
Text formatting, layout and display.
pyglet.text.caret
Provides keyboard and mouse editing proceres for text layout.
pyglet.text.document
Formatted and unformatted document interfaces used by text layout.
pyglet.text.formats
Document formats.
pyglet.text.formats.attributed
Extensible attributed text format for representing pyglet formatted documents.
pyglet.text.formats.html
Decode HTML into attributed text.
pyglet.text.formats.plaintext
Plain text decoder.
pyglet.text.formats.structured
Base class for structured (hierarchical) document formats.
pyglet.text.layout
Render simple text and formatted documents efficiently.
pyglet.text.runlist
Run list encoding utilities.
pyglet.window
Windowing and user-interface events.
pyglet.window.event
Events forpyglet.window.
pyglet.window.key
Key constants and utilities for pyglet.window.
pyglet.window.mouse
Mouse constants and utilities for pyglet.window.
⑨ pygame中image.load無法使用
首先看下圖片有問題沒,沒問題再看看路徑,不知道你絕地路徑怎麼寫的,用單斜杠寫入絕對路徑要加r,比如r"C:\Users\Administrator",按你那種寫法,得把圖片和py文件放到同一個目錄下才能找到。
⑩ python (pygame)運行無報錯,但是一直都是這樣無法載入圖片…Orz 以下是程序,路徑是沒有問題的……
importpygame,sys
frompygame.localsimport*
pygame.init()
screen=pygame.display.set_mode((660,479),0,32)
pygame.display.set_caption('Hello,world!')
background=pygame.image.load(r'D:PYGameEXwd.png')
whileTrue:
foreventinpygame.event.get():
ifevent.type==QUIT:
pygame.quit()
sys.exit()
screen.blit(background,(0,0))
pygame.display.update()
我的是python3,linux系統,試過了,可以載入圖片,你試一下在你電腦行不行。
參考:https://my.oschina.net/leopardsaga/blog/103314