简介
当您要将图像转换为极坐标时(例如,当您要分析模拟仪表时),这是一条备忘。
下面的示例是一个时钟,但是... ??
显然,已弃用OpenCV3系列中的linearPolar()和logPolar(),因此我正在使用warpPolar()。
源代码
请参阅以下存储库以获取完整的源代码。
这篇文章包含节选。
<表格>
cv-warpPolar-example是OpenCV中极坐标变换/逆变换的执行示例。
td>
tr>
tbody> table>
线性转换为极坐标
1 2 3 4 | # キュービック補間 + 外れ値塗りつぶし + 極座標へリニアマッピング 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) |
来自极坐标的逆变换
1 2 3 | # 逆変換(リニア) 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) |
线性转换为对数极坐标
1 2 3 4 | # キュービック補間 + 外れ値塗りつぶし + 対数極座標へリニアマッピング 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) |
来自极坐标的逆变换
1 2 3 | # 逆変換(対数) 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几何图像转换
或更多。