【OpenCV】 【Python】 warpPolar ()를 사용하여 이미지의 극좌표 변환을 수행합니다.

7653 단어 파이썬OpenCV

소개



이미지를 극좌표 변환하고 싶을 때(아날로그 미터를 해석하고 싶을 때라든가)의 메모입니다.
아래의 예는 시계이지만,,, 🦔


분명히 OpenCV3 시스템에 있던 linearPolar()와 logPolar()는 더 이상 사용되지 않으므로 warpPolar()를 사용합니다.

소스 코드



소스 코드 전체 텍스트는 아래 리포지토리를 참조하십시오.
본 투고에는 발췌한 것을 기재하고 있습니다.



Kazuhito00/cv-warpPolar-example

cv-warpPolar-example은 OpenCV에서 극좌표 변환/역변환의 실행 예입니다.



극좌표로의 선형 변환


# キュービック補間 + 外れ値塗りつぶし + 極座標へリニアマッピング
flags = cv2.INTER_CUBIC + cv2.WARP_FILL_OUTLIERS + cv2.WARP_POLAR_LINEAR
# 引き数:画像, 変換後サイズ(幅、高さ)、中心座標(X座標、Y座標)、半径、変換フラグ
linear_polar_image = cv2.warpPolar(image, (300, 1000), (480, 270), 220, flags) 



극좌표에서 역변환


# 逆変換(リニア)
flags = cv2.INTER_CUBIC + cv2.WARP_FILL_OUTLIERS + cv2.WARP_POLAR_LINEAR + cv2.WARP_INVERSE_MAP
linear_polar_inverse_image = cv2.warpPolar(linear_polar_image, (960, 540), (480, 270), 220, flags)



로그 극좌표로의 선형 변환


# キュービック補間 + 外れ値塗りつぶし + 対数極座標へリニアマッピング
flags = cv2.INTER_CUBIC + cv2.WARP_FILL_OUTLIERS + cv2.WARP_POLAR_LOG
# 引き数:画像, 変換後サイズ(幅、高さ)、中心座標(X座標、Y座標)、半径、変換フラグ
log_polar_image = cv2.warpPolar(image, (300, 1000), (480, 270), 220, flags)



극좌표에서 역변환


# 逆変換(対数)
flags = cv2.INTER_CUBIC + cv2.WARP_FILL_OUTLIERS + cv2.WARP_POLAR_LOG + cv2.WARP_INVERSE_MAP
log_polar_inverse_image = cv2.warpPolar(log_polar_image, (960, 540), (480, 270), 220, flags)



참고



OpenCV Geometric Image Transformations

이상.

좋은 웹페이지 즐겨찾기