= 캠이랑놀자/051228 = = 참가자 = 석천 보창 아영 = 배운거 = == Python 기본 문법 - hand-on python == {{{~python >>> x=10 >>> print x 10 >>> x=20 >>> print x 20 }}} {{{~python >>> 20+30 50 >>> s=_ >>> s 50 }}} range, for-in {{{~python >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3,6) [3,4,5] >>> for i in range(5): ... print i 1 2 3 4 5 }}} for-in, list {{{~python >>> s=[1,2,3,4] >>> for i in s: ... print i 1 2 3 4 }}} 조건문 {{{~python if x==0: print x else: print x+10 }}} 함수 {{{~python def fact(n): if n==0: return 1 return n*fact(n-1) }}} == Python Image Processing == Using [PIL] == 이미지 로딩 == {{{~cpp import Image im = Image.open("lena.gif") im.size }}} == 간단 필터 구현 == === whitening === {{{~cpp import Image im = Image.open("lena.gif") for x in range(256): for y in range(256): im.putpixel((x,y), im.getpixel ((x,y)) + 30 ) im.show() }}} === darkening === {{{~cpp import Image im = Image.open("lena.gif") for x in range(256): for y in range(256): im.putpixel((x,y), im.getpixel ((x,y)) - 30 ) im.show() }}} === mirror === === overlap (blending) === = 후기 = 세미나 준비와 관련하여, 추상적인 말을 줄이면서 사람들이 실제 결과를 가지고 이야기할 수 있도록 하는데 촛점 맞추기. 그러다가 종종 PIL 을 써서 프로토타이핑 하던게 생각나서 Python + PIL 로 진행. 1시간 만에 실제로 코드를 돌리고 이미지 처리를 하고 실제로 동작하는 과정을 사람들이 hand-out 으로 해보면서 효율적으로 익히게 할 방법은 python 아니면 matlab 밖에 없을 것 같은 느낌. 준비하면서도 느낌이 웬지 좋았다. 세미나를 준비하는 입장으로서, 앞으로도 계속 hand-out + 군더더기 적은 핵심적인 이론 설명을 목표로 잡아야겠다고 생각. --[1002] ---- hand-out으로 한다는 게 무슨 말인지? 뭔가 사람들에게 인쇄물을 나눠주고 그걸 따라가게 해보는 건가? --JuNe hand-out 이면 유인물인가요~? (hand-on 을 잘못 쓴 느낌이;) 정확히 어떻게 진행했냐면, 개념을 설명하고, 인터프리터로 사람들 앞에서 시연을 했고, 사람들이 관찰을 했고, 그 다음 알고리즘 별로 사람들이 파이썬 인터프리터로 해당 필터 구현을 진행했습니다. 필터 구현방법에 대해서는 구체적인 답을 주진 않았으나, 중간에 간단한 힌트를 주었습니다. --[1002]