実現したいこと
物体の重心位置から上下左右の物体内距離を求めたい
###質問内容
python初心者です。
開発環境はspyderで、pythonのopenCVで二次元画像を読み込み、2値化処理をした後、物体を検出し重心位置を求めるプログラムを作成しました。検出する物体は楕円の形をしたもの1つです。
参考までに画像を添付致します。
次のステップとして、求めた重心位置から上下左右4方向の物体内の距離を求めるプログラムを作成したいのですが、どのようにコードを書いて良いかわかりません。
ネット検索にて、検出した輪郭を塗り潰し、行番号を指定して物体内の長さを求めるコードを拝見しましたが、重心位置からの計測となるとどのように書けばよろしいでしょうか。
ご教授頂けたら幸いです。


該当のソースコード
python
1import cv2 2 3#読み込み4img = cv2.imread("xxx.jpg")5#グレイスケール化6img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)7ret, bin_img = cv2.threshold(img_gray, 30, 255, cv2.THRESH_BINARY)8 9#輪郭の検出10contours, hierarchy = cv2.findContours(bin_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)11 12#重心の算出13m = cv2.moments(img_gray) 14cog_width = int(m["m10"] / m["m00"])15cog_height = int(m["m01"] / m["m00"])16print(cog_width, cog_height)17
試したこと
ネット検索にて、検出した輪郭を塗り潰し、行番号を指定して物体内の長さを求めるコードを拝見しましたが、重心位置からの計測となるとどのように書けばよろしいでしょうか。

0 コメント