데이터 분석을 위한 프로그래밍 언어로 Python과 R이 주로 사용되는데, Python은 데이터 분석을 위해서 만들어진 언어는 아니다. 소프트웨어를 개발하기 위한 일반 프로그래밍 언어지만, 딥러닝을 활용할 수 있는 라이브러리가 있는 등의 기능을 많이 포함하고 있기 때문에 데이터 분석 분야에서 주목을 받고 있다. 반면, R은 데이터 분석을 위한 용도로 만들어진 언어다. 다른 프로그래밍 언어에 비해 문법이 간단하기 때문에 프로그래밍 지식이 많지 않아도 되기에 쉽게 사용할 수 있는 것이 장점이다. 1. R Installation The Comprehensive R Archive Network cran.r-project.org RStudio | Open source & professional software f..
python 검색 결과
import cv2 import numpy as np import matplotlib.pyplot as plt Contour Contour는 등고선이라는 뜻으로 같은 값을 가진 곳을 연결한 선이라고 생각하면 된다. 이미지에서 Contours는 동일한 색 또는 동일한 강도를 가지고 있는 영역의 경계선을 연결한 선이다. 물체의 모형 분석이나 객체 감지 및 인식 알고리즘에 주로 사용하는 툴이다. 1. 정확도를 높이기 위해 주로 Binary 이미지를 사용한다. 그래서 Contours를 찾기 전에 threshold나 Canny 경계선 탐지 등을 이미지에 먼저 적용한다. 2. cv2.drawContours() 함수는 원본 이미지를 직접 수정하기 때문에, 원본 이미지를 보존하려면 copy() 함수를 사용해야 한다. ..
import cv2 import numpy as np import matplotlib.pyplot as plt 이미지 피라미드 (Image Pyramids) 이미지의 스케일(scale)과 해상도를 조절하는 작업으로 동일한 이미지를 가지고 여러 다양한 크기로 조절하여 작업할 필요가 있을 때도 있다. 예를 들어 이미지에서 사람의 얼굴과 같이 객체에서 특정한 무언가를 탐색하려고 할 때가 대표적이다. 우리가 확보한 얼굴 이미지가 있다고 가정하자. 다른 이미지에서 이 얼굴과 동일한 이미지를 탐색한다고 할 때, 우리가 가진 이미지에서 얼굴 크기와 다른 이미지에서 보이는 얼굴 크기가 다를 수 있다. 이럴 경우에는 탐색 대상 이미지의 해상도를 다단계로 만들어 각 단계에서 얼굴을 탐색하면 좀 더 나은 결과를 보일 수 있..
1. SQL Introduction SQL이란 Structured Query Language의 약어로 관계형 데이터베이스의 데이터를 관리하기 위해서 만들어진 프로그래밍 언어이다. 1974년 IBM 연구소에서 SEQUEL이라는 이름으로 시작했고, 질의어(Query Language)지만 데이터 구조의 정의부터 조작, 제어 기능을 갖추고 있다. Oracle, MySQL 등의 데이터베이스 관련 프로그램들은 이 SQL을 표준으로 사용한다. 2. SQL 분류 SQL은 사용 용도에 따라 데이터 정의 언어(DDL), 데이터 조작 언어(DML), 데이터 제어 언어(DCL)의 3가지로 구분된다. 1) 데이터 정의 언어 DOMAIN, INDEX, SCHEMA, TABLE, VIEW 등의 데이터베이스 개체를 정의, 변경 혹은..
import cv2 import numpy as np import matplotlib.pyplot as plt Canny Edge Detection 경계선 검출 방식에서 가장 많이 사용하는 알고리즘이다. 일반적으로 경계선 검출기는 잡음에 매우 민감한 특성을 가지고 있다. 따라서 잡음으로 인해 잘못된 경계선을 계산하는 것을 방지하기 위해 개발 된 알고리즘이다. Canny 알고리즘은 다음의 5가지 단계를 거친다. 1. Gaussian Filter로 이미지의 잡음을 제거한다. 2. Sobel Filter를 사용하여 Gradient의 크기(intensity)를 구한다. 3. Non-maximum suppression을 적용하여 경계선 검출기에서 거짓 반응을 제거한다. 4. 경계선으로써 가능성 있는 픽셀을 골라내..
1. Introduction Python에서 주로 사용되는 자료구조는 List, Tuple, Set, Dictionary 4종류가 있다. Python은 List를 배열처럼 취급하기 때문에 아이템을 검색하는 데 걸리는 시간은 선형적(Linear)으로 증가한다. 따라서, 용량이 큰 데이터를 저장하기에는 효율성이 떨어진다. Tuple은 List와 달리 변형이 불가능(Immutable)한 리스트로, 검색하는 데 걸리는 시간은 List와 동일하게 데이터 양과 비례하게 증가한다. Set은 List와 Tuple과 달리 순서가 없으며, 중복되는 아이템을 저장할 수 없는 특징이 있어 조회 업무 등에서 사용된다. Dictionary는 키(Key)를 값(Value)에 매핑한다. 같은 Dictionary에 포함된 Key들은 ..
import cv2 import numpy as np import matplotlib.pyplot as plt 이미지 그라디언트 (Image Gradients) 그라디언트(Gradient)는 기울기, 증감, 변화도, 즉 변화하는 정도를 나타내는 단어이다. 이미지 내에서 픽셀값의 변화가 가장 큰 부분은 일반적으로 경계선(edge) 및 모서리(corner)부분이다. 따라서 Image Processing에서는 이를 잘 이용하여 영상의 경계선(edge) 및 그 방향을 찾는 용도로 활용된다. Edge Detection 변화하는 정도는 수학적으로 미분과 관련이 깊다. 이미지는 2차원이기 때문에 수직 방향과 수평 방향으로 미분해주면 수직 방향으로 어떻게 변화하는지, 또는 수평 방향으로 어떻게 변화하는지 알 수 있다...
import cv2 import numpy as np import matplotlib.pyplot as plt Morphological Transformation 이미지 프로세싱에서 Morphology(형태학)는 이미지를 Segmentation 하여 단순화, 제거, 보정을 통해 형태를 파악하는 목적으로 사용된다. 기본적으로 바이너리 이미지 상에서 이루어지며 원본 이미지와 이미지에 가해지는 변형을 결정하는 구조화된 요소(커널과 같은 역할), 2개의 입력값을 가진다. 그래서 Morphological Transformation(형태학적 변환)역시 이미지 필터링을 사용하여 영역을 변화시키는 방법중 하나라고 인식할 수 있다. 일반적으로 Binary나 Grayscale 이미지에 사용되며, Dilation(팽창), ..
코드를 작성하다보면 수많은 오류를 마주하게 된다. 그러면 우리는 오류 메시지를 통해서 잘못된 부분을 수정해서 오류를 줄여나간다. 그런데, 때로는 실행 도중 오류가 발생하더라도 이를 무시한 채 수행하기를 원할 때도 있을 것이다. Python에서는 try와 execpt를 통해서 이러한 예외 처리를 할 수 있다. 일반적으로 오류가 발생하는 대표적인 경우는 0으로 다른 수를 나누는 경우(ZeroDivisionError), directory 내에 없는 파일을 열고자 하는 경우(FileNotFoundError), 그리고 리스트 범위를 넘어서는 부분을 얻고자 하는 경우(IndexError) 등이 속한다. 이러한 오류를 처리하기 위한 구문을 작성하는 방법은 다음과 같다. try: ... except [발생 오류[as ..
[OpenCV Practice 10 - 1] 이미지 필터링 (Image Filtering & Blurring) OpenCV: Smoothing Images Goals Learn to: Blur images with various low pass filters Apply custom-made filters to images (2D convolution) 2D Convolution ( Image Filtering ) As in one-dimensional signa.. dsbook.tistory.com def onChange(x): pass def blurringTrackbar(): img = cv2.imread('atom-4.png') cv2.namedWindow('blurring', cv2.WINDOW_..
최근댓글