画像処理_楕円の極座標変換
解決したいこと
現在以下サイトを参考にして、円形に並んでいる物体の極座標変換は行えるようになりました。
https://qiita.com/Kazuhito/items/065fd25d56c0238a1d72
次ステップとして楕円に並んでいる物体(もしくは正面ではなく斜めから撮影した画像)の極座標変換を行いたいと考えております。しかし、ネットを調査してもそれらしきものが見当たりません。ご存知の方教えていただけると助かります。
発生している問題・エラー
◆円の極座標変換プログラム
def polar(img_canny,enx,eny,ind,outd):
R = ind + (outd - ind )/2
h = round(R * 2 * 3.14)
#極座標変換:https://qiita.com/Kazuhito/items/065fd25d56c0238a1d72
# キュービック補間 + 外れ値塗りつぶし + 極座標へリニアマッピング
flags = cv2.INTER_CUBIC + cv2.WARP_FILL_OUTLIERS + cv2.WARP_POLAR_LINEAR
# 引き数:画像, 変換後サイズ(幅、高さ)、中心座標(X座標、Y座標)、半径、変換フラグ
linear_polar_image = cv2.warpPolar(img_canny, (outd, h), (enx, eny), outd, flags)
#画像の回転:https://note.nkmk.me/python-opencv-numpy-rotate-flip/
img_rotate_90_clockwise = cv2.rotate(linear_polar_image, cv2.ROTATE_90_CLOCKWISE)
return img_rotate_90_clockwise,h
自分で試したこと
ネットで調査したが、openCVを使用しての方法が見つからなかった。
以下サイトのように角度補正(射影変換)?してから円の極座標変換の方が楽でしょうか?
https://qiita.com/nrnrk/items/7aecba89ffb02f0b8d12
宜しくお願い致します。
0