前提・実現したいこと
pythonでクリックした4つの座標を元にその内側の面積を測定するプログラムを作りたいです。
4点の座標を選択するまでは完成したのですが、その先の面積の計算のためのコードが分かりませんので教えていただきたいです。よろしくお願いします。
該当のソースコード
import cv2 import numpy as np def select_point(event, x, y, flags, param): """変換元画像の4点を選択する。 """ global is_complete if event == cv2.EVENT_FLAG_LBUTTON: cv2.circle(img, (x, y), 3, (255, 0, 0), -1) points.append([x, y]) print(x, y, len(points)) if len(points) == 4: is_complete = True # 4点選択した場合、フラグをたてる。 img = cv2.imread('DSC01054.png') # 画像を読み込む。 is_complete = False # 4点の選択が完了したかどうか points = [] cv2.namedWindow('input') cv2.setMouseCallback('input', select_point) while True: cv2.imshow('input', img) cv2.waitKey(1) if is_complete: cv2.destroyWindow("input") break
補足情報
使用しているのはpython 2.7です。
このままではコードが読めないので、質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください
数学的に4点からその面積を求める方法をググれば良いと思いますが、具体的にどのような点がわからないのでしょうか。
ソースコードを改めて記入させていただきました。
ご指摘ありがとうございました。
t_obaraさま
数学的に四点から面積を求めるというのは、縦横の長さを掛ける公式でしょうか。
わからない点は、四点を指定した後に、そこから点同士の距離を調べるやり方が分かりません。
そして、画像の中での四点の面積測定をしたいのですが、画像の中にメジャー(10㎝ほど)があり、その距離を㎝に換算したいです。
言葉足らずで大変申し訳ございませんでした。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー