楕円の長軸・短軸の長さを求めたい

前提

楕円の長軸と短軸を求めたいです。

実現したいこと

まずは長軸から求めようと考えています。
→長軸は図形領域内で最長なので求めやすいと考えました。

今考えている方法としては、opencvのminEnclosingCircle関数で外接円を求め、その直径を楕円の長軸とする方法です。
以下のコードで長軸の長さを求めることはできましたが、短軸の求め方が分からないのが現状です。

どなたかご教授いただければ幸いです。

該当のソースコード

python

import cv2 import matplotlib.pyplot as plt img = cv2.imread("画像のパス") #二値化gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)_, bin_img = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU) contours, hierarchy = cv2.findContours( bin_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnt = contours[0] (x, y), radius = cv2.minEnclosingCircle(cnt)center = (int(x), int(y))radius = int(radius)cv2.circle(img, center, radius, (0, 0, 255), 5) print(radius*2)plt.imshow(img)

補足情報(FW/ツールのバージョンなど)

Google Colabratoryを使用しています。

コメントを投稿

0 コメント