Programming

Programming/Python

Opencv 제대로 쓰기[2]- 외부 카메라로부터 동영상 입력받기

안녕하세요. 지난 포스팅의 Opencv 제대로 쓰기[1]에서는 컴퓨터 내부에 있는 영상이나 동영상을 불러오는 방법에 대해서 정리했습니다. 이번 포스팅에서는 노트북이나 핸드폰의 카메라로부터 동영상을 불러오는 방법에 대해서 알아보겠습니다. 전체 코드는 아래의 깃허브 링크를 참조해주시길 바랍니다. skawngus1111/opencv-python-tutorial Contribute to skawngus1111/opencv-python-tutorial development by creating an account on GitHub. github.com 시작하기에 앞서 동영상을 불러오고 저장하는 핵심함수들에 대해서 간단하게 정리하고 넘어가도록 하겠습니다. cv2.VideoCapture() (int or str): ..

Programming/Python

Opencv 제대로 쓰기[1] - 컴퓨터 내 영상/동영상 입출력

안녕하세요. 지난 포스팅의 Opencv 제대로 쓰기[0]에서는 환경설정 및 간단한 테스트를 해보았습니다. 오늘은 본격적으로 opencv를 다루어보도록 하겠습니다. 가장 기본이라고 할 수 있는 영상 및 동영상을 불러오고 저장하는 방법에 대해서 알아보도록 하겠습니다. 1. 컴퓨터에 있는 영상 불러오기 및 저장하기 컴퓨터에 있는 영상을 불러오는 것은 지난 포스팅에서 간단하게 테스트 해보았듯이 기본적으로 cv2.imread(fileName, flag)가 기본입니다. 각 입력 파라미터는 아래와 같습니다. fileName (str): 영상 경로 flag (int): 영상을 불러올 때 옵션 Return : 영상 객체 Return Type : numpy.ndarray 여기서 flag 옵션은 다시 한번 3개로 나뉘게 됩..

Programming/Python

Opencv 제대로 쓰기[0] - Opencv-python 설치 및 환경설정

안녕하세요. 이번 포스팅부터는 영상 처리 라이브러리 중 아주 유명한 Opencv 설치 및 활용법을 알아보도록 하겠습니다. 해당 포스팅은 opencv tutorial을 참고하여 만들어집니다. 오늘은 간단하게 설치 및 간단한 테스트만 진행해보도록 하겠습니다. 파이썬으로 진행할 예정이기 때문에 새로운 가상환경을 만들어보도록 하겠습니다. conda 관련 명령어 및 가상환경 생성 방법은 제가 이전 포스트에서 자세히 설명하였기 때문에 좀 더 자세한 설명을 원하시는 분들은 아래의 링크를 참조해주시길 바랍니다. 아나콘다 활용하기 - 가상환경 안녕하세요. 오늘은 아나콘다를 설치를 한 뒤 환경설정을 하는 법에 대해서 알아보도록 하겠습니다. 기본적으로 아나콘다를 설치하게 되면 "base" 라는 가상환경이 자동으로 생성되고 ..

Programming/Python

Sympy 알고 쓰자 - polynomial Simplify

안녕하세요. 지난 포스팅에 이어서 오늘은 다항식과 유리식에 관련된 simplify 함수들에 대해서 알아보겠습니다. 1. expand expand 함수는 주어진 다항식을 전개하는 함수입니다. 예를 들어서 $(x + 1)^{2} = x^{2} + 2x + 1$과 같이 말이죠. 두 말할 필요없이 몇 가지 예제를 보시면 바로 알 수 있습니다. 이 뿐만 아니라 아래와 같이 더 복잡한 다항식 수식들도 전개를 해볼 수 있습니다. 2. factor factor 함수는 흔히 말하는 "인수분해"를 해주는 함수입니다. expand 함수를 반대로 수행하는 함수라고 생각하시면 될 거 같습니다. 그렇다면 expand 함수의 결과를 이용해서 factor 함수를 적용해보도록 하겠습니다. 위의 결과부터 하나씩 보시면 위에서 2번째까지..

Programming/Python

Sympy 알고 쓰자 - Common Simplification

안녕하세요. 지난 포스팅의 Sympy 알고 쓰자 - 기본 연산에서는 심파이에서 사용하는 대표적은 연산들에 대해서 알아보았습니다. 오늘 포스팅은 주어진 수식을 간단하게 만드는 방법에 대해서 알아보겠습니다. 예를 들어 $\cos^{2}{x} + 2\sin^{2}{x}$라는 수식은 $\cos^{2}{x} + \sin^{2}{x} = 1$이라는 성질을 이용하여 $\sin^{2}{x} + 1$으로 간단하게 만들 수 있습니다. 이를 심파이에서는 아래와 같이 쓸 수 있습니다. x= sp.symbols("x") expr = cos(x)**2 + 2*sin(x)**2 simplify(expr) 즉, "simplify" 함수 안에 간단하게 만들고 싶은 함수를 입력해주면 됩니다. 그러면 이번에는 약분을 보도록 하겠습니다. ..

Programming/Python

Sympy 알고 쓰자 - 기본 연산

안녕하세요. 지난 포스팅에서 말씀드렸다싶이 심파이는 사람의 입장에서 봤을 때 매우 직관적 문법을 가지고 있기 때문에 실질적으로 사용하기에 더 편한 라이브러리입니다. 오늘은 기초적인 문법과 심파이에서 지원하는 연산에 대해서 알아보도록 하겠습니다. 일단, 다시 한번 말씀드리지만 심파이는 기호 기반 수학 라이브러리이기 때문에 저희는 변수를 기호로써 선언해주어야합니다. 이를 위해서는 아래와 같이 변수를 선언해주면 됩니다. import sympy as sp x, y, z = sp.symbols("x y z") 그러면 일단 기초연산을 할 준비는 끝났으니 바로 본격적으로 시작해보도록 하겠습니다. 1. 대입(Substitution) 대입은 아주 간단한 개념이죠. $x^{2} + x + 1 = 10$과 같은 식에서 $x..

Programming/Python

Sympy 알고 쓰자 - 소개

안녕하세요. "알고 쓰자" 시리즈의 새로운 파이썬 라이브러리를 소개해드리겠습니다. 바로 Sympy입니다!! Symbolic Python의 준말이죠. 기호(symbolic) 기반 수학 라이브러리라고 보시면 될 거 같습니다. 수학 라이브러리인것을 알겠는데 "기호"라는 단어가 조금 생소할 수 있을 거 같습니다. 일단, 저희가 일상생활에서 $y = x^{2}$라는 함수를 미분한다고 가정하겠습니다. 그러면 저희는 $y^{'} = 2x$라는 답을 바로 낼 수 있죠. 이게 가능한 이유가 저희는 기본적으로 $x$라는 기호를 $-\infty ~ +\infty$까지의 변수로 보고 사용하기 때문입니다. 하지만, 문제는 파이썬에서 라이브러리 없이 미분을 한다고 가정해보겠습니다. 그러면, 애초에 컴퓨터이기 때문에 무한의 영역으..

Programming/Python

넘파이 알고 쓰자 - Linear Algebra Library 3 : 행렬의 고윳값과 고유벡터

안녕하세요. 지난 포스팅의 넘파이 알고 쓰자 - 아인슈타인 표기법에서는 벡터 및 행렬 간 곱셈을 수행하는 다른 방법에 대해서 알아보았습니다. 오늘 포스팅에서는 행렬로부터 고윳값과 고유벡터를 추출하는 함수에 대해서 소개해드리도록 하겠습니다. 오늘 중점적으로 확인해보실것은 추출하는 함수에 대해서만 보시고 고윳값과 고유벡터에 대한 성질은 나중에 선형대수학을 정리하면 다루도록 하겠습니다. 먼저 가장 간단한 고윳값과 고유벡터를 추출하는 방법은 $\text{det}\left(A - \lambda I\right) = 0$을 만족하는 고윳값 $\lambda$를 구한 뒤 고윳값 $\lambda$에 대응되는 고유벡터 $\nu$는 $A\nu = \lambda \nu$를 만족하는 벡터를 찾으면 됩니다. 그런데 이 계산법은 기..

Johns Hohns
'Programming' 카테고리의 글 목록 (17 Page)