일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 머신비전
- 영어기초
- 파이썬
- 머신러닝
- 동사
- 직장인
- 딥러닝
- 코딩
- opencv
- 초보영어
- 영어회화
- 대학원
- 4차산업
- 파이썬gui
- 석사
- Vision
- 영어공부
- coding
- C언어
- ComputerVision
- 3dprinter
- Ai
- 오픽
- 프로그래밍
- 산업대학원
- Python
- 영어
- 인공지능
- 특수대학원
- machinevision
- Today
- Total
미래기술연구소
[패스트캠퍼스 수강 후기] 컴퓨터비전인강 100% 환급 챌린지 8회차 본문
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 |