python入門用の個人用まとめwikiです。サンプルコードを載せていきたいと思います。ご意見がございましたら、お伝えくださると嬉しいです。

PILでのピクセル単位での操作


python PILを使って、ピクセル単位での画像の操作をします。

ピクセルデータの取得
Image.getpixel ( (pixX,pixY) )

ピクセルデータを設定
その1
Image.putpixel ( (pixX,pixY) , (R,G,B) )
※ ただし、jpg画像に滲みが発生します。(以下の画像はjpg出力を行っています) png,bmpでは滲みは発生しません。 原因のわかる方教えてくださると助かります。。。

その2
pixels = Image.load()
pixels[x,y] = (R,G,B)

一番簡単な例

>>> # 既存の"C:\test.jpg"のピクセル値を取得する
>>> import Image
>>> # 画像の生成
>>> img = Image.new("RGB",(255,255),(255,0,0))
>>> img.save("C:\\test.jpg") 
>>> img.getpixel((100,100))
(255, 0, 0)


>>> # 既存の"C:\test.jpg"のピクセル値を設定する
>>> import Image
>>> # 画像の生成
>>> img = Image.new("RGB",(255,255),(255,0,0))
>>> for y in range(95,105):
	for x in range(95,105):
		img.putpixel((x,y),(0,0,255))
>>> img.save("C:\\test.jpg") 


>>> # 既存の"C:\test.jpg"のピクセル値を設定する(loadを利用する)
>>> import Image
>>> # 画像の生成
>>> img = Image.new("RGB",(255,255),(255,0,0))
>>> img.save("C:\\test.jpg")
>>> pixels = img.load()
>>> for y in range(95,105):
	for x in range(95,105):
		pixels[x,y] = (0,0,255)
>>> img.save("C:\\test.jpg")

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Books







AD






管理人/副管理人のみ編集できます

メンバー募集!