はじめに
skimage.featureのCENSURE特徴点検出器により、特徴点を検出した例について説明する。
コード
![](https://sabopy.com/wp/wp-content/uploads/2020/03/censure_DoB.jpg)
解説
モジュールのインポートなど
画像の読み込み
下記画像を下記サイトからダウンロードし、plt.imread()で読み込む。rgb2grayでグレースケールに変換した。
![](https://sabopy.com/wp/wp-content/uploads/2020/03/curry_shop_building.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAF3W-XZHhRh9SiL7SSP1RZZUkkjRPOumGFRvN8ULUWkJc_ZNzD5PHVs9uzoijN03m0LbhoAxjLQuJOjMuDq3XYmk8z4fz7vv8Xd952KShgmIv7ISG8yB12dp7fVwSu_7XUx4e_U-Y8vvq/s400/curry_shop_building.png)
カレー屋の建物のイラスト
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
収縮、回転、移動した画像の生成
上記コードで、収縮、回転、移動した画像を得る。
CENSURE による特徴点検出
detectorとしてCENSURE()をセットして、detector.detect(画像)で特徴点を検出できる。
結果の表示
![](https://sabopy.com/wp/wp-content/uploads/2020/03/censure_DoB.jpg)
それぞれの画像の特徴点を散布図で表示した。特徴点の座標(x,y)は、(detector.keypoints[:, 1], detector.keypoints[:, 0])で得ることができる。
散布図の点の大きさは、2 ** detector.scalesとしてscalesの大きさによって変化させている。
facecolors=’none’で散布図内部の色をなしにし、edgecolors=’m’,linewidths=10で点の線色と線幅を設定した。
CENSUREのmodeを’Octagon’にしたときの結果
![](https://sabopy.com/wp/wp-content/uploads/2020/03/censure_octa.jpg)
CENSUREのmodeを’STAR’にしたときの結果
![](https://sabopy.com/wp/wp-content/uploads/2020/03/censure_star.jpg)
参考
CENSURE feature detector — skimage 0.24.0 documentation
skimage.feature — skimage 0.24.0 documentation
コメント