蛙の井戸見聞記 Pretty frog in a well who knows nothing of the great web ocean!

~~ 好奇心は猫をも殺す Curiosity Kills the Cat ~~ ♪欲しいモノ・食べたいモノ・ネットで集めた情報と日々の記録の倉庫♪ Logging my life... Since 2003.12  

画像処理など

画像をピクセル単位で足したり引いたりフィッティングしたり、をしたくて結局pythonに流れ着いた。

いろいろてきとーだが、覚え書きするためのメモ。これだと動かないかもだけど、必要事項は書いた。target_funcの中の関数はnumpyを使うのはTIPS。

from PIL import image
import numpy as np
import math as mt
from scipy import optimize

def target_funt(x,a,b,c):
	f = c+ a * np.sin(x-b)
	return f

def main():
		im1 = Image.open("test.jpg")
		rgm_im1 = im1.convert('RGV')
		size = rgb_im1.size
		imres = Image.new('RGBA',size)
		print(size[0])
		print(size[1])
		for x in range(size[0])
			for y in range(size[1])
			r1,g1,b1 = rgb_im1.getpixel( (x,y) )
			bw1 = (r1+g1+b1)/3/256
			xdata = np.array([0,mt.pi/4, mt.pi/2, mt.pi*3/4i])
			ydata = np.array([r1, g1, b1, r1)]
			params, params_cov = optimize.curve_fit(target_func, xdata, ydata)
			r = params[0]
			g = params[1]
			b = params[2]
			imres.putpixel( (x,y) , (r,g,b,0) )
	imres.save('testres.jpg",'jpg')
if __name__ = "__main__":
	main()