본문 바로가기

IT

[Python GUI Programming :: Tkinter] Hello, Tkinter 이제 코드를 보도록 하겠습니다. 모든 튜토리얼이 그렇듯, Hello World부터 시작하겠습니다. - First Tkinter Program :: Hello1.py from Tkinter import * root = Tk() w = Label(root, text="Hello, world!") w.pack() root.mainloop() - 실행 결과 - 코드 설명 먼저 tkinter를 import하는 것으로 먼저 시작합니다. tkinter는 모든 클래스와 함수와 다른 기타 필요한 것들을 모두 포함하고 있습니다. 대부분의 경우 여러분들은 간단하게 tkinter를 import해서 네임스패이스로 필요한 것을 사용할 수 있습니다. - from ~ import tkinter # from tkinter import.. 더보기
[Python GUI Programming :: Tkinter] Tkinter란? 갑작스럽게 Python GUI 프로그래밍이 필요하게 되었습니다.일반적으로 PyQt를 써서 GUI프로그래밍을 하는데, QT는 상업 라이센스 문제가 있어서 라이센스에 걸리지 않는GUI 프로그래밍 방식을 찾다보니 Tkinter라는 것이 있어서 관련된 공부를 할 겸, 블로그 포스팅을 진행해보려고 합니다.레퍼런스는 아래에 첨부하였으니, 포스팅을 기다리는게 힘드신 분들은 아래 레퍼런스를 보시고, 공부하시면 더 빠르게 접근하실수 있습니다.해당 포스팅은 Python3.5를 기준으로 하였습니다. Tkinter 모듈은 Scriptics의 Tk GUI toolkit에 대한 Standard Python interface입니다.Tk와 Tkinter는 대부분의 Unix 플랫폼과 윈도우나 맥킨토시같은 플랫폼에서 사용이 가능합니다... 더보기
[Signal processing & System] 복소수와 복소 지수 신호 :: Complex number and Complex Exponential Signal 이번 포스팅에서는 신호를 복소수의 형태로 나타내는 방법에 대해서 소개하겠습니다. 1. 복소수 :: Complex Number 복소수는 실수의 순서 쌍으로 나타날 수 있습니다. 복소수는 실수와 허수의 쌍이므로 두 가지 표현으로 다시 나누어서 표현할 수 있습니다. 실수부 (Real part) 허수부 (Imaginary part) 일반적으로 허수부 는 로 표기합니다. 따라서 복소수는 다음과 같은 형태로도 표현할 수 있습니다. 이러한 표현 방법을 복소수의 직교좌표형(Cartesian form)이라고 합니다. 복소수는 복소수 평면, 즉 복소평면(Complex plane)에서 점으로 표현할 수 있으며, 아래 그림과 같이 수평과 수직 좌표가 됩니다. 이를 벡터로 생각하면 복소수를 기하학적으로 다룰 수 있고, 극좌표형.. 더보기
[객체지향 파이썬 프로그래밍] __init__() method [2] 1. 각 하위 클래스에서 __init__() 구현 이번에는 최상위 클래스에서 __init__() 메소드를 구현하는 것이 아닌, 각 하위 클래스에서 __init__() 메소드를 구현하는 방법에 대해서 알아보겠습니다. 이때, 각 하위 클래스로의 코드 복제를 막기 위해 중복 금지::DRY, Don't Repeat Yourself 원칙을 따르겠습니다. 다음 예제는 하위 클래스에서 초기화를 수행합니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273class Suit: def __init__(self, name, sy.. 더보기
[객체지향 파이썬 프로그래밍] __init__() method [1] 1. 일반적인 클래스 계층 구조를 정의한 예제 __ init __메소드를 최상위 클래스인 Card 에 포함시킴으로써 최상위 클래스의 초기화를 세 개의 하위 클래스인 NumberCard와 AceCard, FaceCard에 공통적으로 적용했습니다. 예제는 일반적인 다형성 디자인입니다. 하위 클래스는 _points() 메소드를 각각 구현합니다.모든 하위 클래스는 동일한 서명을 갖습니다. 즉, 같은 메소드와 속성을 갖습니다. NumberCard, AceCard, FaceCard는 Card클래스를 상속받습니다.Card 클래스를 상속받은 하위 클래스들은 _points 메소드를 암묵적으로 overriding 합니다. -> 부모 클래스에서 명시적으로 _points 메소드를 선언하지 않았음.그리고 이를 이용해 여러 ca.. 더보기
[Signal processing & System] 정현파:: Sinusoids 1. 정현파 :: Sinusoids 일반적으로 코사인(cosine) 또는 사인(sine)신호를 정현파 신호, 정현파라고 합니다. 코사인 신호의 일반적인 형태는 다음과 같습니다. : 진폭 (amplitude) : 라디안 주파수(radian frequency) : 위상 변이 (phase shift) 코사인 신호의 이해를 돕기 위해 아래와 같은 식이 주어졌다고 가정합시다. 여기서 는 와 사이에서 진동하며, 1/440 = 0.00227초 간격으로 반복합니다. 이 시간 간격을 정현파 함수의 주기(period)라고 합니다. 2. 사인 코사인 함수 복습 특성식 [직각 삼각형에서의 sin, cos의 정의] 동질성 주기성 는 정수 코사인은 우함수 사인은 기함수 사인 값이 0일 때 는 정수 코사인 값이 1일 때 는 정수 .. 더보기
[Signal processing & System] 서론 해당 파트에서는 신호와 시스템에 대해서 다루겠습니다. 해당 포스팅은 공부하면서 정리하는 내용을 정리한 내용입니다. 1. 신호와 시스템 1). 신호 : 물리적으로 조작, 저장 그리고 전송할 수 있는 물리적 양의 변화 형태 2). 시스템 : 신호를 조작, 변경, 기록, 전송하는 기능을 가진 것을 의미 신호와 시스템은 큰 분류로써 연속적/이산적 2가지 종류로 나눌 수 있습니다. 신호적인 측면에서 이산 신호는 연속 신호를 샘플링(Sampling)하여 얻을 수 있습니다. [좌측 : 연속신호, 우측 : 이산신호] 해당 신호에 맞추어서 시스템도 연속시간시스템/이산시간시스템 2가지로 나눌 수 있습니다. [연속시간시스템과 이산시간시스템] 2. 수식적 표현 수식적으로 신호와 시스템을 표현하자면 다음과 같이 표현할 수 있습.. 더보기
[YOLO DARKNET] 구성 및 설치, 사용방법 이번 포스팅에서는 YOLO Darknet의 구성, 설치 및 사용방법에 대해서 포스팅하겠습니다. Pre - requirement1. OpenCV 2.4.XX2. CUDA Install YOLO Darknet 페이지(https://pjreddie.com/darknet/yolo/) 를 확인하면 설치방법을 확인 할 수있습니다. Darknet의 소스는 다음 github 저장소에서 확인할 수 있습니다. 이번 포스팅에서는 최신버전의 코드(Darknet V2)가 아닌, 다음과 같은 이전버전(Darknet V1)의 코드를 사용하였습니다. Yolo Darknet의 폴더 구조는 다음과 같습니다. darknet||- cfg /|- data/|-LICENSE|-Makefile|-obj/|-README.md|-results/|-.. 더보기
[OpenCV/C] Convolution Filter 요즘에 CNN과 관련된 일을 하고 있습니다. CNN의 핵심은 Convolution이기 때문에 이번 포스팅은 복습하는 겸 Convolution에 대해서 포스팅하겠습니다. 1. Convolution & Correlation 1-1. Convolution, 합성곱이라고 합니다. 위키피디아에서 Convolution(영문)을 찾아보면 보면 정의는 다음과 같이 되어있습니다. - 1D Convolution - 2D Convolution 1-2. Correlation, 상관분석이라고 합니다. 수식 정의는 다음과 같습니다. - 1D Correlation - 2D Correlation 수식을 잘 보면, 단지 +와 -에 대한 차이밖에 없습니다. 그리고 만약 input function이 symmetricaly하다면 Convo.. 더보기
[C] 외부 변수 참조, extern 이번 포스팅에서는 외부 파일에서 선언된 변수를 사용하는 extern에 대해서 알아보겠습니다. 1. extern main.c가 있고 test.h, test.c 파일이 있다고 가정해봅시다. 만약에 test.c에 있는 변수 int c라는 데이터를 main.c에서 가져다가 사용하고 싶습니다. 이럴때 사용하는 것이 extern입니다. 예제를 먼저 봅시다. 1. Makefile123456789101112131415161718192021222324252627 VPATH=./EXEC=mainOBJDIR=./ CC=gcc CFLAGS=-Wall -Wfatal-errors OBJ=test.o main.o OBJS = $(addprefix $(OBJDIR), $(OBJ))DEPS = $(wildcard ./*.h) Make.. 더보기