[ Python OpenCV ] 파이썬 오픈씨브이 소벨 파헤치기 - cv2.Sobel

[ 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)


==========


댓글