画像を引き延ばす際のエラー
解決したいこと
画像のリサイズに関して、楕円を円に修正するプログラムを書いています。
以下プログラムのように楕円を描画(実際はpyside2で描画)し、
それが円になるように画像を引き延ばすというものになります。
発生している問題・エラー
以下プログラム例で行くと円にするためには元画像を横に35広げればいいと考えていました。
h(255)-w(220)=35
h:楕円の縦
w:楕円の横
しかし、元画像を横に105で引き延ばさないと円にならなかった。
なぜ3倍の値を用いて画像をリサイズしないといけないのか分かりません。
ご回答の程宜しくお願い致します。
該当するソースコード
#楕円の中心座標
#実際のプログラムにはユーザーが描画したデータを入れる
x = 292
y = 247
#楕円の横と縦の値
#実際のプログラムにはユーザーが描画したデータを入れる
w = 220
h = 255
#楕円描画仮:cv2.ellipse(img, ((中心座標), (横, 縦), 角度), (色),線の太さ)
cv2.ellipse(img, ((x, y), (w, h), 0), (0, 0, 255),1)
#元画像の大きさ確認
imgh, imgw, imgc = img.shape
#円になるように画像の横幅を変更 元画像の横幅+楕円の縦と横の差
imgw = imgw + (h-w)
#サイズの変更:なぜか105広げないと円にならなかった。。。
#size = ((imgw),480) << これだと円にならない
size = ((640+105),480)
img_resize = cv2.resize(img, # 画像データを指定
size # リサイズ後のサイズを指定
)
自分で試したこと
ここに問題・エラーに対して試したことを記載してください。
ネットで調査したが、答えにたどり着けなかった。
0