https://docs.opencv.org/3.4/d2/d2c/tutorial_sobel_derivatives.html
OpenCV: Sobel Derivatives
Prev Tutorial: Adding borders to your images Next Tutorial: Laplace Operator Goal In this tutorial you will learn how to: Use the OpenCV function Sobel() to calculate the derivatives from an image. Use the OpenCV function Scharr() to calculate a more accur
docs.opencv.org
가장자리는 급격하게 값이 변하는 곳으로 표현할 수 있다.
1차 미분을 하게 되면 엣지 부분을 더 쉽게 볼 수 있다.
sobel operation은 3x3크기의 행렬을 사용해서 연산을 할 때 중심을 기준으로 앞 뒤 방향으로 비교해서 변화량을 검출하는 알고리즘이다.
sobel은 x방향, y방향으로 나눠서 각각 행렬을 갖는다. (대각선으로도 가능하다.)
이 행렬은 모두 홀수 size를 가져야한다.
먼저 x방향으로 다음과 같이 kernel G_x를 나타낼 수 있다.
다음 y방향으로 다음과 같이 표현할 수 있다.
이미지의 각 지점에서 두 결과 G_x, G_y를 계산결과를 결합해서 해당 지점의 gradient의 근사값을 구한다.
위 식보다 더 간단히 아래와 같이 표현하기도 함.
사용하는 방법은 굉장히 간단하다.
#edge는 픽셀값이 급격하게 변하는 지점이다.
#주변보다 1차 미분값이 큰 부분을 엣지로 검출하게된다.
#sobel x,y 방향 각각의 별도 커널을 사용해서 엣지 검출한다.
#sobel x는 수직선 방향
#sobel y는 수평선 방향
import cv2
from google.colab.patches import cv2_imshow
img_path='/content/drive/My Drive/다핏문제/909/lena.jpg'
이미지를 grayscale로 읽어서 cv2.Sobel()함수를 사용하면 된다.
Sobel()함수의 파라미터는 다음과 같다.
img = cv2.imread(img_path,2)
res = cv2.Sobel(img,-1,1,1,ksize=3)
cv2_imshow(res)
[DF909] OpenCV 연습하기 (1) : 다핏, 데이터사이언스 연습문제
🔥 문제 설명OpenCV Python을 이용하여 이미지 처리에 사용되는 필터링 및 엣지탐지 를 연습합니다.각종 영상 처리에서 기술표준으로 활용되는 '레나' 이미지를 활용해서 기초 기능과 필수 기술을 연습합니다.🔥 추천 대상영상 처리의 기초를 학습하고자 하는 자 OpenCV를 이용한 '필터 적용'과 '엣지 탐지'에 대한 기본적인 지식을 학습하고자 하는 자[DF907 : OpenCV 다루기 첫걸음]을 학습한 자🔥 학습 목표OpenCV는 오픈소스 컴퓨터 비전
www.dafit.me
'DAFIT > 909 - OpenCV 연습하기 (1)' 카테고리의 다른 글
<DAFIT> 09 OpenCV 연습하기(1) - 05 Noise and Filtering(2) (0) | 2019.12.11 |
---|---|
<DAFIT> 09 OpenCV 연습하기(1) - 07 Edge Detection(2) (0) | 2019.12.11 |
<DAFIT> 09 OpenCV 연습하기(1) - 05 Noise and Filtering(2) (0) | 2019.12.10 |
<DAFIT> 09 OpenCV 연습하기(1) - 04 Noise and Filtering(1) (0) | 2019.12.10 |
<DAFIT> 09 OpenCV 연습하기(1) - 03 Sharpening Filter (0) | 2019.12.10 |