본문 바로가기

Programming Language

(22)
Python matplotlib.pyplot - imshow(), show() * matplotlib.pyplot에서 imshow() vs show() - plt.show(): displays the figure (and enters the mainloop of whatever gui backend you're using). You shouldn't call it until you've plotted things and want to seef them displayed. figure를 보여준다. figure가 무조건 보여지게 되므로, displayed 되므로 plot을 그려서 나타내고 싶을 때에만 호출을 해야한다. - plt.imshow(): draws an image on the current figure (creating a figure is there isn't a curre..
opencv erode & dilate - Morphological Transformations * Erosion - 이미지를 침식시키는 것 - 이미지의 경계 부분을 침식시켜서 배경 이미지로 전환한다 - 흐릿한 경계부분을 배경으로 만든다고 생각하면 쉽다 - 작은 (nxn) kernel 창으로 이미지 전체를 훑으면서 kernel 창에 들어온 matrix 값을 변경한다 import cv2 import numpy as np kernel = np.ones((3, 3), np.uint8) erosion = cv2.erode(img, kernel, iterations=1) - img: erosion을 진행할 원본이미지 - kernel: erosion을 위한 kernel - iterations: erosion 반복 횟수 * Dilation - 이미지를 팽창시키는 것 - Erosion과 반대로 동작한다 impor..
Python - for문에서의 range, enumerate * Python에서의 for in 반복문 Python에서는 for in문 한가지 방식의 for문만 제공한다. for item in iterable ...iteratable code... - iterable 객체에는 list, dictionary, set, string, tuple, bytes 등이 있다. - range도 iterable하다. * range range(시작숫자, 종료숫자, step) - 시작숫자부터 종료숫자 바로 앞 숫자까지 컬렉션을 만든다. - 시작숫자와 step은 생략 가능하다. for i in range(5) print(i) 더보기 결과 0 1 2 3 4 - 파이썬에서 권장하지 않는 패턴 s = [1, 3, 5] for i in range(len(s)): print(s[i]) - 파이..
Python Class * Class 필요한 이유 C 언어에는 클래스가 없다. 즉, 클래스가 없어도 함수만으로 프로그램을 충분히 만들 수 있다. 하지만 클래스를 사용해서 얻을 수 있는 이익이 상당하다. 계산기를 만드는 예시를 상상해보자. - 함수로 구현 result = 0 def add(num): global result result += num return result print(add(3)) print(add(4) 더보기 결과 3 7 두 개의 계산기를 사용하고 싶은 경우, 각 계산기는 각각의 결과값을 유지해야 하기 때문에 위와 같이 add 함수 하나만으로는 결과값을 따로 유지할 수 없다. 이 상황을 해결하려면 함수를 각각 따로 만들어야 한다. result1 = 0 result2 = 0 def add1(num): global..
Python Class - object class 상속 * Python Class에서 object class를 상속받는 이유 class MyClass(object): # Code Python 3.x: 1. class MyClass(object): new-style class 2. class MyClass: new-style class (명시하지 않아도 자동으로 상속) Python 2.x: 1. class MyClass(object): new-style class 2. class MyClass: >>>>OLD-STYLE class
Python generator * Python generator란? iterator를 생성해주는 function이다. iterator는 next() method를 이용해 데이터에 순차적으로 접근이 가능한 object이다. generator는 일반적인 함수와 비슷하게 보이지만, 가장 큰 차이점은 yield 구문이다. * Iterable과 iterator의 이미 - iterable: member를 하나씩 차례로 반환 가능한 object를 의미한다 - sequence type인 list, str, tuple이 대표적이다 - non-sequence type인 dict나 file도 iterable하다고 할 수 있다. - __iter__()나 __getitem__() 메소드로 정의된 class는 모두 Iterable 하다고 할 수 있다. - i..