OpenCV 이미지 경사도 구현 방법

개술
OpenCV 는 플랫폼 을 뛰 어 넘 는 컴퓨터 시각 라 이브 러 리 로 다 중 언어 를 지원 하고 기능 이 강하 다.오늘 소 백 은 모두 와 함께 OpenCV 의 세계 로 들어간다.
경사도 연산
경사도:팽창(Dilating)-부식(Eroding).
예:

#     
pie = cv2.imread("pie.png")

#  
kernel = np.ones((7, 7), np.uint8)

#     
gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel=kernel)

#     
cv2.imshow("gradient", gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()
출력 결과:
在这里插入图片描述
예모
예모(Top Hat):원본 입력-연산 결과.
예:

#     
img = cv2.imread("white.png")

#  
kernel = np.ones((7, 7), np.uint8)

#   
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel=kernel)

#     
cv2.imshow("tophat", tophat)
cv2.waitKey(0)
cv2.destroyAllWindows()
출력 결과:
在这里插入图片描述
검 은 모자
검 은 모자(Black Hat):폐 연산-원시 입력.
예:

#     
img = cv2.imread("white.png")

#  
kernel = np.ones((7, 7), np.uint8)

#   
blackhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel=kernel)

#     
cv2.imshow("blackhat", blackhat)
cv2.waitKey(0)
cv2.destroyAllWindows()
출력 결과:
在这里插入图片描述
Sobel 연산 자
Sobel 연산 자(Sobeloperator)는 가장자리 검 측 에서 매우 중요 한 연산 자 입 니 다.Sobel 연산 자 는 이산 성 차 분 산 자 로 이미지 의 높 은 밝기 함수 의 그 레이스 케 일의 유사 치 를 연산 합 니 다.
형식:

cv2.Sobel(src, ddepth, dx, dy, ksize)
인자:
src:원 도ddepth:그림 의 깊이dx:수평 방향D:세로 방향ksize:연산 자 크기계산 x
코드:

#     
img = cv2.imread("pie.png")

# Sobel  
sobelx = cv2.Sobel(img, -1, 1, 0, ksize=3)

#     
cv2.imshow("sobelx", sobelx)
cv2.waitKey(0)
cv2.destroyAllWindows()
출력 결과:
在这里插入图片描述
계산 y
코드:

#     
img = cv2.imread("pie.png")

# Sobel  
sobely = cv2.Sobel(img, -1, 0, 1, ksize=3)

#     
cv2.imshow("sobely", sobely)
cv2.waitKey(0)
cv2.destroyAllWindows()
출력 결과:
在这里插入图片描述
계산 x+y
코드:

#     
img = cv2.imread("pie.png")

# Sobel  
sobel = cv2.Sobel(img, -1, 1, 1, ksize=3)

#     
cv2.imshow("sobel", sobel)
cv2.waitKey(0)
cv2.destroyAllWindows()
출력 결과:
在这里插入图片描述
융합
코드:

# Sobel  
sobelx = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=3)
sobely = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=3)

#       
sobelx = cv2.convertScaleAbs(sobelx)
sobely = cv2.convertScaleAbs(sobely)

#   
sobel_xy = cv2.addWeighted(sobelx, 0.5, sobely, 0.5, 0)

#     
cv2.imshow("sobel_xy", sobel_xy)
cv2.waitKey(0)
cv2.destroyAllWindows()
출력 결과:
在这里插入图片描述
주:ddepth 가-1 로 설정 되 어 있 으 면 원본 그림 과 일치 합 니 다.결 과 는 잘못된 것 일 수 있 습 니 다.경사도 값 을 계산 하면 마이너스 가 발생 할 수 있 습 니 다.음 수 는 자동 으로 0 으로 절 단 됩 니 다.정보 손실 을 피하 기 위해 서 는 데이터 형식 cv2.CV 를 더 높 게 사용 해 야 합 니 다.64F,절대 치 를 추출 하여 cv2.CV 에 투사8U 타 입.
여기 서 OpenCV 이미지 경사도 의 실현 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 OpenCV 이미지 경사도 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기