[CE] Subdivision using DFS
·
Computer/CE
이 페이지는 Recursive subdivision의 동작을 간단한 binary image를 대상으로 보여준다. 사용한 image는 The Secret Life of Programs 의 5장에 나오는 Figure 5-3: A crude simley face를 사용하면서 단지 좌표를 일반적인 image에서 사용하는대로 top-left pixel을 0,0으로 처리했다. 최종으로 나오는 Tree의 leaf node의 갯수는 40개로 원래의 64개보다 줄어들며, 일종의 압축된 representation을 형성한다. Pseudo code 및 동작 이 Recursive subdivision 예제의 Pseudo code (Recursive Functon이 사용됨)는 다음과 같다. function subdivide(x..
[CE] Stack
·
Computer/CE
StackStack은 자료구조의 하나로서 FILO (First-In-Last-Out, LIFO 와 같은 의미.)로 동작함.많은 경우 접시 쌓기를 예로 사용하여 First-In-Last-Out (FILO), Last-In-First-Out (LIFO)를 설명한다.Stack에 저장되는 데이터 단위를 element(요소)라고 하며,새로운 element가 Stack에 추가되는 것을 Push (데이터 삽입)라고 부르고,현재 stack에서 element를 빼내는 동작을 Pop (데이터 삭제)이라고 부름.Stack을 class로 구현시 push와 pop은 method들로 구현됨. 참고로, Python에서의 list를 stack처럼 사용한다면, `append`를 push로 사용하고, pop은 l..
[CE] 프로그래머를 위한 (Logical) Memory 구조 : Stack, Heap, Code
·
Computer
하나의 프로그램(=instruction들의 집합, Process) 실행 시 OS에 의해서프로그램의 인스턴스인 process를 위해 마련되는 Memory의 구조는다음의 영역으로 구분가능.Kernel Space는 보통 메모리의 상위 주소에 할당되고, User Space는 하위 주소에 할당됨. 이 문서에 다루는 Process의 User Space의 메모리 구조는 엄밀하게 애기하면,MMU를 사용하지 않는 경우 memory 구조, 또는MMU를 사용하는 경우엔 사용자에게 보여지는 virtual memory의 구조 에 해당하는 내용임이 외에도 Kernel Space에 PCB(Process Control Block)이 생성됨.아래 그림은 OS와 program, cpu가 사용하는 logical memory (or vir..
NumPy 배열 병합 : 영상 붙이기
·
Programming/DIP
1. numpy.vstacknumpy.vstack(tup) : Stack arrays in sequence vertically (rowwise)axis 0로 ndarray들을 붙임2d image라면 위아래로 붙여지게 됨.Simple exampleimport numpy as npa = np.ones((4,3))b = np.zeros((4,3))np.vstack( (a,b) )Image exampleimport cv2import matplotlib.pyplot as pltimg = cv2.imread('../../images/lena.png')stacked_img = np.vstack((img,img))plt.imshow(stacked_img[:,:,::-1])plt.show() 결과는 다음과 같음.ref:..