Ubuntu を使うとして手順を説明する.
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行.
sudo apt update sudo apt -yV upgrade sudo /sbin/shutdown -r now
sudo apt install libx11-dev
画像ファイル fruits.jpg, home.jpg のダウンロード手順は,別ページで説明している.
https://github.com/opencv/opencv/tree/master/samples/data で公開されている fruits.jpg, home.jpg を使用する(謝辞:画像の作者に感謝します)
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
./a.out 1 home.jpg
./a.out 1 fruits.jpg