수평, 수직 가장자리
수평선, 세로선의 검출에는 Sobel 필터를 이용합니다.
수평 방향 검출용
\begin{matrix}
1 & 2 & 1 \\
0 & 0 & 0 \\
-1 & -2 & -1
\end{matrix}
수직방향 검출용
\begin{matrix}
1 & 0 & -1 \\
2 & 0 & -2 \\
1 & 0 & -1
\end{matrix}
이들을 이미지에 적용합니다.
또한 OpenCV에는
cv2.Sobel(src, ddepth, dx, dy, dst, ksize, scale, delta, borderType)
그래서 사용합시다.
입력 이미지 src는 회색조로 합니다.
ddepth는 색심도로, cv2.CV_32F를 넣으면 괜찮습니다.
(dx, dy) = (0, 1)에서 수평 방향 검출, (1, 0)에서 수직 방향 검출입니다.
예제에 표시된 소벨 필터의 커널 크기는 3이므로 ksize는 3이 될 수 있습니다.
gray = cv2.imread('sample.jpg', 0)
dx = cv2.Sobel(gray, cv2.CV_32F, 1, 0, ksize=3)
dy = cv2.Sobel(gray, cv2.CV_32F, 0, 1, ksize=3)
cv2.imwrite('./dx.jpg', dx)
cv2.imwrite('./dy.jpg', dy)
테스트에 사용한 이미지
dx
dy
Lena라고 이해하기 어렵습니다. . .
지금 도로에 관한 검출하고 있습니다만, 그쪽이라고 알기 쉽습니다.
Reference
이 문제에 관하여(수평, 수직 가장자리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Hiromu-S/items/78a3c0135dd492b0ab9f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)