[ Python OpenCV ] 파이썬 오픈씨브이 소벨 파헤치기 - cv2.Sobel
1. 원본 이미지 가져오기
import cv2 as cv
# 이미지 가져오기
matImage = cv.imread('D:\VSCode\cat.jpeg')
# 이미지 보기
cv.imshow('image', matImage)
2. 색상 이미지 회색 변환
# 이미지 그레이 변환
matGray = cv.cvtColor(matImage, cv.COLOR_BGR2GRAY)
# 이미지 보기
cv.imshow('COLOR_BGR2GRAY', matGray)
3. 소벨 기본 사용
# 소벨 기본 사용
matSobel = cv.Sobel(matGray, -1, 1, 1)
# 이미지 보기
cv.imshow('Sobel', matSobel)
4. Sobel 함수 정리
dst = cv2.Sobel(src, ddepth, dx, dy, dst=None, ksize=None, scale=None, delta=None, borderType=None)
• dst : 출력 이미지
• src : 입력 이미지
• ddepth : 출력 이미지 타입 (-1 입력 이미지 타입 동일)
• dx : 가로 미분 차수
• dy : 세로 미분 차수
[ 1차 미분 또는 2차 미분 결정]
• ksize : 커널 사이즈 (default 3)
• scale : 추가 곱셈 값 (default 1)
• delta : 추가 합산 값 (default 0)
• borderType : 외각 픽셀 (default cv2.BORDER_DEFAULT)
5. Sobel 변동 값 확인
# 소벨 가로 1
matSobel = cv.Sobel(matGray, -1, 1, 0)
# 이미지 보기
cv.imshow('width1', matSobel)
# 소벨 가로 2
matSobel = cv.Sobel(matGray, -1, 2, 0)
# 이미지 보기
cv.imshow('width2', matSobel)
# 소벨 세로 1
matSobel = cv.Sobel(matGray, -1, 0, 1)
# 이미지 보기
cv.imshow('height1', matSobel)
# 소벨 세로 2
matSobel = cv.Sobel(matGray, -1, 0, 2)
# 이미지 보기
cv.imshow('height2', matSobel)
6. 전체 소스
import cv2 as cv
# 이미지 가져오기
matImage = cv.imread('D:\VSCode\cat.jpeg')
# 이미지 보기
cv.imshow('image', matImage)
# 이미지 그레이 변환
matGray = cv.cvtColor(matImage, cv.COLOR_BGR2GRAY)
# 이미지 보기
cv.imshow('COLOR_BGR2GRAY', matGray)
# 소벨 기본 사용
matSobel = cv.Sobel(matGray, -1, 1, 1)
# 이미지 보기
cv.imshow('Sobel', matSobel)
# 소벨 가로 1
matSobel = cv.Sobel(matGray, -1, 1, 0)
# 이미지 보기
cv.imshow('width1', matSobel)
# 소벨 가로 2
matSobel = cv.Sobel(matGray, -1, 2, 0)
# 이미지 보기
cv.imshow('width2', matSobel)
# 소벨 세로 1
matSobel = cv.Sobel(matGray, -1, 0, 1)
# 이미지 보기
cv.imshow('height1', matSobel)
# 소벨 세로 2
matSobel = cv.Sobel(matGray, -1, 0, 2)
# 이미지 보기
cv.imshow('height2', matSobel)
# 입력 대기
cv.waitKey(0)
==========
댓글
댓글 쓰기