2022-09

OpenCV

【OpenCV-Python】ラベリング(connectedComponents)

ラベリングとは、二値化された画像において、画素がつながっている領域に対して同じ番号(ラベル)を与える処理のことを言います。このつながっている領域のことをブロブ(blob)といいますが、このブロブに対して、面積や幅、高さなどを求め、キズや打痕...
OpenCV

【OpenCV-Python】円近似(疑似逆行列を用いた方法)

OpenCVには座標を楕円で近似する関数(fitEllipse)はあるものの、円で近似するfitCircle()のような関数はありません。そこで、最小二乗法的に座標を円で近似するfitCircle()関数を作ってみました。円の最小二乗法につ...
OpenCV

【OpenCV-Python】円形度

円形度とは、図形の面積と周囲長の関係から、円らしさの値を求めます。円形度の詳細は以下のページを参照ください。OpenCV的には、図形の面積はcontourArea()関数で、周囲長はarcLength()関数で求める事ができるので、これを使...
OpenCV

【OpenCV-Python】輪郭の周囲長(arcLength)

findContours()関数などで取得した輪郭の座標から輪郭の長さを求めるにはarcLength()関数を用います。構文arcLength(curve, closed) ->retvalcurve輪郭を構成する輪郭のxy座標(x, y)...
OpenCV

【OpenCV-Python】輪郭(contour)の矩形領域の取得

OpenCVのfindContours関数などで得られた点の座標から、点を囲う矩形領域(四角形の領域)を取得するにはboundingRect関数を用います。さらに、傾きを考慮した矩形領域を取得するにはminAreaRect関数を用います。ま...
OpenCV

【OpenCV-Python】輪郭(contour)の面積(contourArea)

OpenCVで二値化された領域の輪郭座標は、findContours関数を使えば取得することができます。このときの戻り値である輪郭情報(contours)をcontourArea関数へ渡し面積を求めます。ただし、求まる面積は、あくまでも輪郭...