!!! サイト改修中のため表示が乱れる場合があります(1月末頃まで) !!!
画像処理

14-32. ImageJで「隠れた図形を探せ」を解く

やること

海外の質問サイトを見ていたら子ども向けのパズルを見つけました。正式名称は分からないですが「隠れた図形を探せ」的な名前だと思います。(画像クリックで拡大)

以前、イタリアンレストランの激ムズ間違い探しをPythonのOpencvで解きましたが(→画像差分で間違い探しを解く)、このパズルはその方法では解けません。物体の回転も考慮しなければいけません。今回はImageJ(のディストリビューションであるFiji)を使って「隠れた図形を探せ」を解いてみましょう。

使用したもの

今回はImageJではなく、様々なプラグインが追加されたFijiを使います。

Fiji Downloads
The ImageJ wiki is a community-edited knowledge base on topics relating to ImageJ, a public domain p...

Fijiには台形補正のプラグインが入っているためです。使い方は以下参照。

Interactive Perspective
The ImageJ wiki is a community-edited knowledge base on topics relating to ImageJ, a public domain p...

方針

物体の回転もあるため、フィルタを当てて畳み込み演算するような方法では計算量が膨大になりそうです。そこで、回転しても変化しない情報として「面積」に着目して絞り込むというアプローチにしましょう。

前処理

元画像

Plugins > Transform > Interactive Perspective
で台形補正を行います。

Process > Subtract Background
で背景のうねりを取り除きます。

Image > Type > 8-bit
Image > Adjust > Threshold
で二値化します。

面積測定と無関係な部分をペンとバケツで黒に塗ります。

ボタンを探す

ボタンを切り抜いて
Analyze > Analyze Particles
で面積を調べます。

元の画像に対して同様に
Analyze > Analyze Particles
で面積を検出します。(検出範囲を指定すること)

1箇所検出されました。たしかに一致していることがわかります。

ティーカップを探す

同じようにティーカップも探してみます。検出する面積は321-341。

4箇所検出されました。これだけ絞れれば簡単に見つかります。

おわりに

Analyze Particlesで「面積に応じて色を塗る」みたいなことができたらもっと楽にできそうな気がしますが、ImageJ(Fiji)はオプションに関するドキュメントが少ないようで分かっていません。

リアクションのお願い

「参考になった!」「刺激された!」と思ったらぜひリアクションをしましょう。エンジニアの世界はGive and Takeによって成り立っています。これからも無料で良質な情報にアクセスできるよう、Giveする人への感謝をリアクションで示しましょう!

この記事をシェアする

自身のブログ等で使用する場合は引用を忘れずに!

また、寄付も受け付けています。コーヒー1杯でとても喜びます(*˘︶˘*)

 Amazonでギフト券(アマギフ)を贈る

こちらのリンク から金額を指定してお贈りください。(デフォルトで10000円になっているのでご変更ください)

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 Amazonで食事券(すかいらーく優待券)を贈る

500円 1000円 2000円 5000円 からお贈りください。

配送:Eメール
受取人:staffあっとvigne-cla.com
贈り主:あなたのお名前やニックネーム
メッセージ:◯◯の記事が参考になりました。など

のようにご入力ください。見返りはありませんのでご了承ください。

 その他、ギフト券やクーポン券をメールで贈る

デジタルのギフト券/クーポン券はメールアドレス(staffあっとvigne-cla.com)までお送りください。受領の返信をいたします。
紙のギフト券/クーポン券は 「郵便物はこちらへ」の住所 まで送付してください。名刺やメールアドレスを同封していただければ受領の連絡をいたします。
余った株主優待券等の処理におすすめです。
いずれも見返りはありませんのでご了承ください。

不明点はSNSでお気軽にご連絡ください

ビネクラのTwitter・Youtubeでコメントをください!


Slack・Discordの場合はこちらの公開グループに参加してShoya YasudaまでDMをください!


※当ブログに関することは何でもご相談・ご依頼可能です。

この記事を書いた人
Yasuda

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

タイトルとURLをコピーしました