베개를 사용하여 에지 감지에 수벨 필터를 적용하는 방법은 무엇입니까?
Aug 08, 2025
메시지를 남겨주세요
에지 감지는 이미지 내에서 객체의 경계를 식별하는 데 사용되는 이미지 처리의 기본 기술입니다. 에지 감지의 인기있는 방법 중 하나는 이미지 강도의 기울기를 계산하는 수벨 필터입니다. 이 블로그에서는 이미지 처리를위한 강력한 Python 라이브러리 인 Pillow를 사용하여 Edge Detection에 Sobel 필터를 적용하는 방법을 살펴 보겠습니다. 베개 공급 업체로서, 우리는 이것을 당신과 공유하게되어 기쁩니다.
흡수 필터 이해
Sobel 필터는 이미지 강도 함수의 그라디언트의 근사치를 계산하는 불연속 차별화 연산자입니다. 수평 가장자리를 감지하고 다른 하나는 수직 가장자리를 위해 두 개의 3x3 커널로 구성됩니다.
수평 겸손 커널 (G_X)은 다음과 같습니다.
[의 뜻
g_x =
\ begin {bmatrix}
-1 & 0 & 1 \
-2 & 0 & 2 \
-1 & 0 & 1
\ end {bmatrix}
]]
수직 흡수 커널 (G_Y)은 다음과 같습니다.
[의 뜻
g_y =
\ begin {bmatrix}
-1 & -2 & -1 \
0 & 0 & 0 \
1 & 2 & 1
\ end {bmatrix}
]]
이 커널이 이미지로 복잡하면 이미지의 첫 번째 순서 수평 및 수직 파생물을 계산합니다. 그런 다음 그라디언트의 크기는 공식 (\ sqrt {g_x^2 + g_y^2})을 사용하여 계산할 수 있으며, 그라디언트의 방향은 (\ arctan (\ frac {g_y} {g_x})에 의해 주어집니다.
전제 조건
시작하기 전에 베개가 설치되어 있는지 확인하십시오. 사용하여 설치할 수 있습니다씨:
PIP 설치 베개
베개와 함께 소벨 필터를 바릅니다
필요한 라이브러리를 가져 와서 이미지를로드하여 시작하겠습니다.
PIL 가져 오기 이미지, ImageFilter import Numpy as NP # 이미지 image = image.open ( 'your_image.jpg'). convert ( 'l') # GraysCale로 변환
여기서 Sobel 필터가 단일 채널 이미지에서 작동하기 때문에 이미지를 회색 스케일로 변환합니다.
다음으로, 우리는 흡수 커널을 정의하고 이미지로 그들을 복잡하게합니다.
# Sobel Kernels sobel_x = np.array ([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]) sobel_y = np.array ([[-1, -2, -1]), [0, 0], [1, 2, 1]) # 이미지를 전환합니다. Sobel 커널이있는 이미지 G_X = np.zeros_like (Image_Array) g_y = np.zeros_like (image_array) 행, cols = image_array.shape in range (1, 행 -1) : j의 경우 (1, cols -1) : g_x [i, j] = np.sum (sobel_ * image _). -1 : j + 2]) g_y [i, j] = np.sum (sobel_y * image_array [i -1 : i + 2, j -1 : j + 2])
계산 (g_x) 및 (g_y) 후, 우리는 그라디언트의 크기를 계산할 수 있습니다.


# 그라디언트 그라디언트 _magnitude = np.sqrt (g_x ** 2 + g_y ** 2) # gradient 크기를 범위로 정상화 [0, 255] gradient_magnitud = (gradient_magnitude / np.max (gradient_magnitude)*255) .astay (np.uint8) # np. Edge_image = image.fromArray (gradient_magnitude) # 가장자리 저장 - 감지 된 이미지 Edge_Image.Save ( 'edod_detected_image.jpg')
베개를 사용하여 필터로 제작되었습니다
베개는 또한 에지 감지에 사용할 수있는 필터를 빌드 한 일부 내장을 제공합니다. 예를 들어,find_edges필터:
# 베개 사용 -Inge Detection Filter Edge_Image_builtin = image.filter (imageFilter.Find_edges) edge_image_builtin.save ( 'edod_detected_image_builtin.jpg')
이 방법은 더 간단하지만 Sobel 필터를 처음부터 구현하는 것만 큼 유연하지 않을 수 있습니다.
결과 비교
사용자 정의 결과 - 구현 된 Sobel 필터와 빌드 - in의 결과를 비교할 때find_edges필터, 사용자 정의 구현은 에지 감지 프로세스를보다 잘 제어 할 수있게한다는 것을 알 수 있습니다. 커널, 그라디언트 크기가 계산되는 방식 및 특정 요구에 따라 다른 매개 변수를 조정할 수 있습니다.
에지 감지의 실제 응용
에지 감지에는 수많은 실용적인 응용이 있습니다. 컴퓨터 비전에서는 객체 인식, 이미지 분할 및 모션 감지에 사용됩니다. 예를 들어, 자체 운전 자동차 시스템에서 Edge Detection은 다른 차량, 보행자 및 도로 표지판의 경계를 식별하는 데 도움이 될 수 있습니다.
의료 영상 분야에서 가장자리 검출은 X -Rays, MRI 및 CT 스캔에서 장기 및 종양의 경계를 식별하는 데 사용될 수 있습니다. 이 정보는 진단 및 치료 계획에 중요합니다.
우리의 베개 제품
베개 공급 업체로서, 우리는 귀하의 요구를 충족시키기 위해 다양한 고품질 베개를 제공합니다. 당신이 찾고 있는지 여부메모리 폼 베개이는 훌륭한 지원과 편안함을 제공합니다가정 베개매일 사용하기 위해, 우리는 당신이 다루었습니다. 우리의 베개는 최고의 재료로 만들어졌으며 숙면을 취하도록 설계되었습니다.
조달을 위해 저희에게 연락하십시오
베개 구매에 관심이 있거나 제품에 대해 궁금한 점이 있으면 조달 토론을 위해 우리에게 연락하는 것이 좋습니다. 우리는 최고의 제품과 서비스를 제공하기 위해 노력하고 있습니다. 우리의 전문가 팀은 귀하의 요구에 맞는 완벽한 베개를 찾는 데 도움을 줄 준비가되었습니다.
참조
- Gonzalez, RC, & Woods, Re (2008). 디지털 이미지 처리. 피어슨.
- 베개 공식 문서 : https://pillow.readthedocs.io/en/stable/
