8주차-OpenCV(2)

Chan·2021년 6월 1일
0

hancom

목록 보기
16/45

OpenCV

  • 기본배열 처리
    flip, repeat, transpose

  • 채널 처리
    merge, split
    split으로 red, green, blue 각각의 채널원소로 나눠서 가져오면, 밝은 쪽이 그 채널에 맞는 색

  • 산술 연산
    add, subtract, multiply, divide, addWeighted
    마스킹 많이 사용

  • 지수로그 연산
    exp, log, sqrt, magnitude, phase, cartToPolar, polatToCart

  • 비트 연산
    bitwise_and, bitwise_or, bitwise_xor, bitwise_not, threshold

  • 차분 절댓값, 최솟값, 최댓값 연산
    absolute, absdiff, min, max, minMaxLoc

  • 통계 관련(합, 평균, 표준편차)
    sumElems, mean, meanStdDev, countNonZero, reduce, sort, sortIdx
    cv2.sort - 행/열 단위 오름차/내림차
    np.sort - x,y축 정렬
    cv2가 np보다 속도 더 빠름, cv2 많이 사용하자

  • 행렬 연산
    gemm (행렬 내적, 회전변환), perspectiveTransform(투영변환-영상왜곡보정-딥러닝에사용), invert(역행렬), solve(연립방정식, 최소제곱법 해결)

  • 영상밝기의 가감연산

  • 영상합성

  • 명암대비

  • 히스토그램 (도수분포표를 그래프로 나타낸것)
    calcHist()
    HSV - Hue(색조), Saturation(채도), Value(명도)
    Hue 히스토그램 - 색상 히스토그램
    히스토그램 stretching - 히스토그램 범위 늘리기
    히스토그램 equalization - 한쪽으로 치우친 명암분포를 재분배를 통해 균등한분포로 만듬

  • 히스토그램 stretching
    새 화소값 = (화소값-low) / (high-low) * 255

  • 히스토그램 equalization

  1. 영상의 히스토그램 계산
  2. 히스토그램 빈도값에서 누적 빈도수(누적합)를 계산
  3. 누적 빈도수를 정규화(정규화 누적합)
  4. 결과 화소값 = 정규화 누적합 * 최대 화소값
  • 컬러공간변환
    BGR, CMYK, HSV, HSI, YUV, YCbCr 등등

  • 컨볼루션
    컨볼루션 - 화소 값 = 자기포함주변 화소값 * 마스킹 (다 더한거)
    컨볼루션 결과 - 마스킹 값에 따라 달라짐

블러링 (주변 화소 간의 급격한 차이가 스무스해짐)
샤프닝 (주변 화소 간의 차이를 급격하게 만듬)
에지 검출 - 로버츠 마스크, 프리윗 마스크, 소벨 마스크
라플라시안 마스크(노이즈민감), LoG(마스크가 가우시안분포(표준정규분포) -> 부드러운 블러링으로 노이즈제거), DoG(LoG 보완, 방법 단순화)

☆ 캐니 에지 검출
1. 블러링을 통한 노이즈 제거 (가우시안 블러링)
2. 화소 기울기의 강도와 방향 검출 (소벨 마스크)
3. 비최대치 억제
4. 이력 임계값으로 에지 결정

profile
Backend Web Developer

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN