8회차 인가..
힘들다...
미분 : 순간변화율
edge 검출과 미분
▪ 에지(edge)
• 영상에서 픽셀의 밝기 값이 급격하게 변하는 부분
• 일반적으로 배경과 객체, 또는 객체와 객체의 경계
▪ 기본적인 에지 검출 방법
• 영상을 (x, y) 변수의 함수로 간주했을 때, 이 함수의 1차 미분(1st derivative) 값이 크게 나타나는 부분을 검출
영상의 미분과 소벨 필터
▪ 1차 미분의 근사화(approximation)
• 전진 차분 (Forward difference):
• 후진 차분 (Backward difference):
• 중앙 차분 (Centered difference):
( 가장 정확하고 많이 사용 됨 )
▪ 다양한 미분 마스크
▪ 소벨 필터를 이용한 미분 함수
cv2.Sobel(scr, ddepth, dx, dy, dst=None, scale=None, delta=None, borderType=None) -> dst
• src: 입력 영상
• ddepth: 출력 영상 데이터 타입. -1이면 입력 영상과 같은 데이터 타입을 사용.
• dx: x 방향 미분 차수.
• dy: y 방향 미분 차수.
• dst: 출력 영상(행렬)
• ksize: 커널 크기. 기본값은 3.
• scale 연산 결과에 추가적으로 곱할 값. 기본값은 1.
• delta: 연산 결과에 추가적으로 더할 값. 기본값은 0.
• borderType: 가장자리 픽셀 확장 방식. 기본값은 cv2.BORDER_DEFAULT.
X 방향으로의 미분 변화
중간 그림 : dx = cv2.filter2D(src, -1, kernel)
우측 그림 : dx = cv2.filter2D(src, -1, kernel, delta=128)
흰색 부분은 값이 급격하게 증가 ( 검 -> 흰 )
검은색 부분은 값이 급격하게 감소 ( 흰 -> 검 )
import sys
import numpy as np
import cv2
src = cv2.imread('Lenna.png', cv2.IMREAD_GRAYSCALE)
if src is None:
print('Image load Failed!')
sys.exit()
kernel = np.array([
[-1, 0, 1],
[-2, 0, 2],
[-1, 0, 1]], dtype=np.float32)
dx = cv2.filter2D(src, -1, kernel)
cv2.imshow('src', src)
cv2.imshow('dx', dx)
cv2.waitKey()
y 방향 ( dy )
x 방향 ( dx ) 비교
import sys
import numpy as np
import cv2
src = cv2.imread('Lenna.png', cv2.IMREAD_GRAYSCALE)
if src is None:
print('Image load Failed!')
sys.exit()
kernel = np.array([
[-1, 0, 1],
[-2, 0, 2],
[-1, 0, 1]], dtype=np.float32)
dx = cv2.Sobel(src, -1, 1, 0, delta=128)
dy = cv2.Sobel(src, -1, 0, 1, delta=128)
cv2.imshow('src', src)
cv2.imshow('dx', dx)
cv2.imshow('dy', dy)
cv2.waitKey()
▪ 샤르 필터를 이용한 미분 함수 ( 많이 사용 안됨 )
cv2.Scharr(scr, ddepth, dx, dy, dst=None, delta=None, borderType=None) -> dst
• src: 입력 영상
• ddepth: 출력 영상 데이터 타입. -1이면 입력 영상과 같은 데이터 타입을 사용.
• dx: x 방향 미분 차수.
• dy: y 방향 미분 차수.
• dst: 출력 영상(행렬)
• scale 연산 결과에 추가적으로 곱할 값. 기본값은 1.
• delta: 연산 결과에 추가적으로 더할 값. 기본값은 0.
• borderType: 가장자리 픽셀 확장 방식. 기본값은 cv2.BORDER_DEFAULT.
'etc > FastCampus 챌린지' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 10 회차 (0) | 2020.10.28 |
---|---|
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 9 회차 (0) | 2020.10.27 |
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 7 회차 (0) | 2020.10.25 |
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 6 회차 (0) | 2020.10.24 |
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 5 회차 (0) | 2020.10.23 |