일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- python
- 파이썬
- Algorithm
- Matplotlib
- queue
- 정보처리기사 c언어
- Join
- 가상환경
- aws jupyter notebook
- 자료구조
- MySQL
- Stack
- 코딩테스트
- NumPy
- 선그래프
- String Method
- Selenium
- 프로그래머스
- pandas
- 백준
- 알고리즘
- 알고리즘스터디
- 노마드코딩
- 데이터시각화
- openCV
- programmers
- type hint
- 알고리즘 스터디
- dataframe
- javascript
- Today
- Total
목록python (67)
조금씩 꾸준히 완성을 향해
이름이 지정된 색깔 목록 (List of named colors) 색 관련한 더 많은 정보는 아래를 참조 the Specifying colors tutorial; the matplotlib.colors API; the Color Demo. ▶ Base colors plot_colortable(mcolors.BASE_COLORS, ncols=3, sort_colors=False) ▶ Tableau Palette plot_colortable(mcolors.TABLEAU_COLORS, ncols=2, sort_colors=False) ▶ CSS Colors plot_colortable(mcolors.CSS4_COLORS) plt.show() ▶ XKCD Colors XKCD 색이 사용가능하지만, 그래프를 크게..
본격적으로 프로젝트를 시작하면서 생각지 못한 변수들을 마주하게 됐다. 그 중 하나가 직접 수집한 대용량의 이미지 데이터를 다루는 것이었다. 혼자 공부하면서 다루던 샘플 데이터들과는 차원이 다른 용량에 깜짝 놀랐다. 아직 1차 수집만 완료된 상태인데... 각설하고, 내가 저장하고 싶은 데이터는 (320, 180, 3) 픽셀값을 가진 이미지들이었다. 일단 해당 폴더에서 jpg 파일을 다 가져와서 flatten을 한 후 list에 저장하였다. 평소에 흔히 하던 대로 csv 파일로 저장을 하려는데, 웬걸 커널이 계속 돌아갔다. 오랜 시간을 기다린 끝에 csv를 마주하게 되었는데, 문제는 이 파일이 전혀 읽히지가 않는단 것이었다.... 메모리 에러가 자꾸 뜨길래 구글링을 해서 대책을 강구하기 시작했다. chunk..
코너 검출 특징(feature) 영상으로부터 추출한 유용한 정보 global feature & local feature 코너 검출 방법 엣지 방향이 급격히 변하는 부분 꼭지점, 튀어나온 부분 코너는 다른 지역 특징에 비해 분별력이 높고 영상 전체에 분포 # 코너점 검출 미분 연산자에 의한 엣지 방향 이용 cv2.preCornerDetect(src, ksize) dst의 local optima 값으로 검출 import numpy as np import pandas as pd import matplotlib.pyplot as plt import cv2 src = cv2.imread('./CornerTest.jpg') # 컬러로 이미지 가져오기 gray = cv2.cvtColor(src, cv2.COLOR_B..
CANNY Edge Detector 정확한 검출(Good Detection), 정확한 위치(Good Localization), 단일 엣지(Single Edge) gradient 크기와 방향을 모두 고려하여 좀 더 정확한 엣지 위치를 찾을 수 있음. 총 4 딘계 가우시안 필터링 > gradient 계산 > 비최대 억제(non-maximum suppression) > 이중 임계값을 이용한 히스테리시스 엣지 트래킹 Sobel vs Canny src = cv2.imread('./lena.jpg', cv2.IMREAD_GRAYSCALE) dst = cv2.Canny(src, 100, 200) #Canny gxo = cv2.Sobel(src, ddepth=cv2.CV_32F, dx=1, dy=0, ksize=3) ..
Labeling 배경과 객체를 구분 한 후 레이블링을 이용하여 객체 간 구분 연결 구성 요소 레이블링 (CCL, Connected Component Labeling) 객체 인식을 위한 전처리 과정으로 사용 이진화 영상에서 수행(배경:검은색, 객체:흰색) 연결성 정의에 따라 결과가 달라질 수 있음 # 고전적 레이블링 기법 등가 테이블(Equibalent Table)을 만들면서 영상을 두 번 스캔함으로써 레이블링을 수행 첫번째 스캔에서는 레이블을 전파시키면서 등가 테이블 생성 두번째 스캔에서는 등가 테이블을 참조하여 각 픽셀에 고유의 레이블을 부여 4-이웃 연결성 고려 cv2.connectedComponents : 연결된 compoenets의 개수를 반환하고 labeling을 해준다. cv2.connecte..
# 모폴로지 연산 Morphology : 형태 또는 모양에 관한 학문 모폴로지 변환의 팽창(dilation)과 침식(erosion)을 기본 연산으로 사용해 고급 형태학을 적용하는 변환 기법 그레이 스케일 영상, 이진영상 모두 적용 가능 구조 요소( Structuring Element) 다양한 형태를 가지지만 주로 정방형을 사용 구조 요소에 따라 형태가 달라짐 ▶ cv2.getStrucuringElement() shape : element의 모양 morph_rect 사각형 morph_cross 십자 모양 morph_ellipse 타원형 모양 ksize : structuring element 사이즈 => rectangle을 일반적으로 가장 많이 사용 # shape 확인 및 비교 kernel_rect = cv..
Edge 추출 # 미분과 경사도 함수 또는 데이터의 변화율 함수의 순간 변화율 # sobel filter 영상에서의 1차 미분 : 엣지 존재 여부 파악 ▶ sobel 필터 후 나온 원본 gxo 값에 절대 값 + 루트 씌우기 import cv2 import numpy as np import matplotlib.pyplot as plt img = np.zeros(shape=(512, 512), dtype=np.uint8) +255 pt1 = 200, 200 pt2 = 300, 300 src = cv2.rectangle(img, pt1, pt2, (0,0,0), -1) # x방향 y방향으로 sobel 필터 적용 후 이미지 밝기값들 확인해 보기 gx = cv2.Sobel(src, ddepth=-1, dx=1, ..
영상 공간 필터링 원하는 정보는 통과, 나머지는 걸러내는 작업 대표적인 필터 : 잡음 제거, 부드러운 성분 제거 etc 필터(마스크, 커널, 윈도우...)와 합성곱 연산 # 필터링 연산 합성곱 연산(convolution) # Border Type # 블러 필터 ▶ Blur # lena, filter 3 x 3, 7 x 7 src = cv2.imread('./lena.jpg') dst1 = cv2.blur(src, ksize = (3,3), borderType=cv2.BORDER_CONSTANT) dst2 = cv2.blur(src, ksize = (3,3), borderType=cv2.BORDER_REPLICATE) dst3 = cv2.blur(src, ksize = (7,7), borderType=cv..
임계값 처리 (Threshold) cv2.THRESH_BINARY cv2.THRESH_BINARY_INV cv2.THRESH_TRUNC cv2.THRESH_TOZERO cv2.THRESH_TOZERO_INV Parameters src input array (multiple-channel, 8-bit or 32-bit floating point). dst output array of the same size and type and the same number of channels as src. thresh threshold value. maxval maximum value to use with the THRESH_BINARY and THRESH_BINARY_INV thresholding types. typ..