12/9(月) 応用科学学会シンポジウムで自動運転に関する講演を担当します☆彡

14-4. ジーンズ写真の「台形補正」と「丈の取得」

やること

次の写真から「わたり幅」「股上」「股下」を測定してみます。

それぞれの長さはこの部分です。画像にA4用紙を含めることによって絶対値が取得できます。

※「定義が違うぞ」というコメントを頂戴しています。次回はもう少しがんばります。

実行環境

WinPython3.6をおすすめしています。

WinPython - Browse /WinPython_3.6/3.6.7.0 at SourceForge.net
Portable Scientific Python 2/3 32/64bit Distribution for Windows

参考にさせていただいたサイト

本当にありがとうございます。

OpenCVを使って画像の射影変換をしてみるwithPython - Qiita
はじめにOpenCVを使ったパターンマッチングで画像中の物体抽出 with Python上記の記事を作成するにあたりOpenCVについて調べてみると、本当にいろいろなことができるみたいなので、と…
OpenCVを使ってマウスイベント(手動)でテニスコート領域を選択できるようにする - Qiita
#やりたいこと↓の画像のようにテニスコート領域をマウスイベントで選択できるようにします。具体的には、コート隅の4点をクリックすることで、テニスコート領域を作成します。テニスボールの着弾点などを…

第1段階(台形補正)

プログラム実行すると画像が立ち上がります。A4用紙の四隅を「コ」の字の順でクリックします。

A4用紙が認識されました。

すると、A4用紙がキレイな長方形になるように補正され、新しい画像が立ち上がります。

第2段階(長さの取得)

試しに、A4用紙の長辺の長さを取得してみます。2ヶ所クリックします。

pointlist[0] = (156, 425)
pointlist[1] = (156, 630)
長さ:297.41 mm

正解値は297.0mmですから、誤差はほとんどありません。1ピクセルを争う卓越したクリック技術です。

「わたり幅」「股上」「股下」の順で測定してみます。

pointlist[2] = (426, 679)
pointlist[3] = (214, 670)
長さ:308.36 mm
pointlist[6] = (290, 674)
pointlist[7] = (267, 896)
長さ:324.34 mm
pointlist[4] = (346, 80)
pointlist[5] = (290, 673)
長さ:865.58 mm

取得できました。

ちなみに、よこ画像にも対応しています。(たて・よこは自動検出してくれます)

pointlist[0] = (656, 350)
pointlist[1] = (659, 567)
長さ:317.2 mm
pointlist[4] = (658, 489)
pointlist[5] = (886, 510)
長さ:334.66 mm
pointlist[2] = (79, 439)
pointlist[3] = (658, 489)
長さ:849.42 mm

わずかなクリック位置の違いによって異なる値が出るのはお許しを。

SNS等でお気軽にご連絡ください

※当ブログに関することは何でもご相談・ご依頼可能です(Servicesになくても)
※TwitterはFF外の場合はDMではなく返信orメンションでお願いしますm(_ _)m

情報発信しています

質問・コメントはSlackやDiscordでお気軽に

勉強会の告知はこちらで

画像処理
この記事を書いた人

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

この記事をシェアする
Vignette & Clarity(ビネット&クラリティ)
タイトルとURLをコピーしました