突然ですが、この画像の中で、丸い順に並べるとどうなるでしょうか。

正解は、1>2>3>5>4(あくまで個人の見解です)。
特に、3と5でどちらが「丸い」と言えるか迷いますよね。
5は右上の凹み部分がなければ3よりも丸いと思われますが、手で触った時の感覚などを考えたとき、3のほうが丸い気もします。
実は、このような丸さの感覚は、「真円度」よりも「円形度」の方が表しやすいです。。
「真円度」だけでは、丸さを表現できない!?
「丸さ」を言い換えると、「真円度」というものがあります。JISによると、
真円度とは,円形形体の幾何学的に正しい円からの狂いの大きさをいう。
JISB0621:1984 幾何偏差の定義および表示
要するに、正確な円からどれだけずれているかを数値化したものが真円度です。
2つの同心円で挟んだ時、その間隔が真円度となります。
この図の矢印の間隔が真円度です。

つまり、この2つの「真円度」は同じ!?

右の図は、右上に出っ張りがあり、左の方が物としては丸みがある気がするので、他の指標が使えないか、探してみました。
「円形度」は円らしさを表す値で1に近いほど、円に近くなる
円形度とは円らしさを表す値で1に近いほど円に近くなります。
円形度=4π×(面積)÷(周囲長)^2
で表されます。
「真円度」と「円形度」で図形を数値化してみた。
試しに、「真円度」と「円形度」で図形を数値化して、感覚と比べてみました。

「真円度」で見ると、真ん中と一番右が同等です。
「円形度」で見ると、右に行くにつれて円から遠ざかっています。
このことから、「真円度」よりも「円形度」の方が見た目の丸さを表せていると思います。
「ImageJ」を使った画像解析
ここからは、ImageJを使った画像解析で、「円形度」を解析してみます。
1.ImageJを立ち上げます。
2.ImageJで解析したい画像を開きます。(File>Openもしくは、ドラッグ&ドロップ)
3.Image>Color>Split Channelsで画像を分け、一番濃淡がわかりやすい画像を残します。

4.解析したいエリアを選択し、Image>Cropで切り取ります。

5.Image>Adjust>Threshouldで解析エリアを調整します。

6.Process>Binary>Make Binaryで境界を作ります。

7.Process>Binary>Fill Holesで穴を埋めます。

8.Process>Noise>Remove Outlinesでノイズを除去します。


9.Analyze>Set MeasurementsでShape Descriptorsにチェックを入れます。

10.Analyze>Analyze ParticlesでOKをして解析実行します。Sizeの最小値を何か入れるとノイズは解析せずに済みます。

11.解析結果が出てきます。Circ.というのが「円形度」です。1に近いほど丸いです。(番号の順番は左からとは限らないようです。)

12.解析結果と写真を見比べてみます。
- 見た目の丸い順は、1>2>3>5>4です。
- 「円形度」の解析結果は、1>2>3>5>4です。
- ただし、円形度は3と5はほとんど同じくらいでした。

見た目の丸さの順番と解析した数値結果が一致しましたが、楕円具合と部分的なかけ具合は「円形度」だけでは判断が難しいかもしれません。
まとめ
今回は、見た目の「丸さ」を数値化する方法として、ImageJを使った「円形度」の画像解析に挑戦しました。
その結果、丸い順番に関して、見た目と数値が一致しました。
今後「丸さ」を数値化するには「円形度」で調べていこうと思います。
ハンドメイド作品の品質確認などに、今回のような画像解析も試せそうですね。
以下の記事では、ハンドメイドでキーホルダーを作製した様子を紹介しています。
ハンドメイドで暗闇で光るキーホルダー作りに挑戦
ImageJの各項目の詳細はこちらのサイトでも参考にできます。
コメント