OpenCV の包含凸図形,k-means クラスタリング,ドロネー変換のサンプルプログラム(OpenCV 5 対応)(C++ を使用)

概要

OpenCV (Open Computer Vision Library) は,実時間コンピュータビジョン (real time computer vision) のアルゴリズムと文書とサンプルコードの集まりである.このページでは,OpenCV(C++)に付属する convex hull(包含凸図形),k-means クラスタリング,ドロネー変換のサンプルプログラムの実行手順を説明する.

目次

関連する外部ページ

サイト内の関連情報

convex hull

Windows では,Visual Studio の x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt) を使う(Windows のスタートメニューで起動できる).「x64」は,64ビット版の意味である.
cd C:\opencv\src\opencv\samples\cpp
cl /I"c:\opencv\build\include" convexhull.cpp /link /LIBPATH:"c:\opencv\build\lib" opencv_core500.lib opencv_highgui500.lib opencv_imgcodecs500.lib opencv_imgproc500.lib
.\convexhull.exe

何かキーを押すと,別の点の集合と包含凸図形に切り替わる.ESC キー,q キー,Q キーのいずれかを押すとプログラムが終了する.

Ubuntu では,次のような手順で実行する.

cd /usr/local/share/opencv5/samples/cpp
g++ -I/usr/local/include/opencv5 -o /tmp/convexhull.out convexhull.cpp -L/usr/local/lib -lopencv_world
/tmp/convexhull.out

k-means

Windows では,Visual Studio の x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt) を使う(Windows のスタートメニューで起動できる).「x64」は,64ビット版の意味である.
cd C:\opencv\src\opencv\samples\cpp
cl /I"c:\opencv\build\include" kmeans.cpp /link /LIBPATH:"c:\opencv\build\lib" opencv_core500.lib opencv_highgui500.lib opencv_imgcodecs500.lib opencv_imgproc500.lib
.\kmeans.exe

何かキーを押すと,別のクラスタリング結果に切り替わる.ESC キー,q キー,Q キーのいずれかを押すとプログラムが終了する.

Ubuntu では,次のような手順で実行する.

cd /usr/local/share/opencv5/samples/cpp
g++ -I/usr/local/include/opencv5 -o /tmp/kmeans.out kmeans.cpp -L/usr/local/lib -lopencv_world
/tmp/kmeans.out

ドロネー変換

Windows では,Visual Studio の x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt) を使う(Windows のスタートメニューで起動できる).「x64」は,64ビット版の意味である.
cd C:\opencv\src\opencv\samples\cpp
cl /I"c:\opencv\build\include" delaunay2.cpp /link /LIBPATH:"c:\opencv\build\lib" opencv_core500.lib opencv_highgui500.lib opencv_imgcodecs500.lib opencv_imgproc500.lib
.\delaunay2.exe

ドロネー三角形分割が点を追加しながら自動的に進行する.途中で何かキーを押すと,その時点で処理を打ち切り,ボロノイ図の表示に移る.

Ubuntu では,次のような手順で実行する.

cd /usr/local/share/opencv5/samples/cpp
g++ -I/usr/local/include/opencv5 -o /tmp/delaunay2.out delaunay2.cpp -L/usr/local/lib -lopencv_world
/tmp/delaunay2.out