トップページ -> データベース関連技術 -> OpenCV のプログラム例) -> dlib C++ Library に付属のサンプルプログラムで HoG を求める
[サイトマップへ], [サイト内検索へ]

dlib C++ Library に付属のサンプルプログラムで HoG を求める

Ubuntu を使うとして手順を説明する.


前準備

Ubuntu のシステム更新

端末で,次のコマンドを実行.

sudo apt update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

いくつかのパッケージのインストール

sudo apt install libx11-dev

DLib のビルドとインストール

画像ファイル fruits.jpg, home.jpg のダウンロード

画像ファイル fruits.jpg, home.jpg のダウンロード手順は,別ページで説明している.

https://github.com/opencv/opencv/tree/master/samples/data で公開されている fruits.jpg, home.jpg を使用する(謝辞:画像の作者に感謝します)


HoG を標準出力に表示

dlib C++ Library を用いて HoG

#include <dlib/gui_widgets.h>
#include <dlib/image_io.h>
#include <dlib/image_transforms.h>

using namespace std;
using namespace dlib;

int main(int argc, char** argv)
{
        array2d<rgb_pixel> img;
        load_image(img, argv[2]);
        array2d<matrix<float,31,1> > hog;

        extract_fhog_features(img, hog);
	for(int j=1; j<hog.nr(); j++) {	  
	  for(int i=1; i<hog.nc(); i++) {
	    cout << i << "," << j << "," << hog[j][i] << endl; 
	  }
	}

	if ( atoi(argv[1]) != 0 ) {
	  image_window winhog(draw_fhog(hog));
	  cin.get();
	}
}

上のソースコードを,a.cのようなファイル名で保存し, 次の手順でビルドして実行

g++ -I/usr/local/include a.c -L/usr/local/lib -ldlib -lpthread -lX11
./a.out 0 home.jpg 
./a.out 0 fruits.jpg 

[image]

[image]

[image]
./a.out 1 home.jpg 
./a.out 1 fruits.jpg 

[image]

[image]

本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]