-
C ++を使用してOpenCVにトラックバーを追加するにはどうすればよいですか?
トラックバーは、OpenCVのさまざまなパラメーターを制御するために使用される制御可能なバーです。トラックバーを使用すると、簡単にパラメータを変更できます。トラックバーはこの制限を取り除き、OpenCVを使用して動的効果を作成できるようにします。 次のプログラムは、C++を使用してOpenCVにトラックバーを追加する方法を示しています。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main() { &nbs
-
C ++を使用してOpenCVで画像を回転させる方法は?
OpenCVの組み込み機能を使用して画像を回転させるのは簡単な作業です。画像を回転させるには、「highgui.hpp」および「imgproc.hpp」ヘッダーファイルを使用する必要があります。このプログラムでは、画像の回転を処理する関数をさらに紹介します。 次のプログラムは、C++を使用してOpenCVで画像を回転させる方法です。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace
-
C ++を使用してOpenCVで画像のサイズを変更し、境界線を追加するにはどうすればよいですか?
このトピックでは、トラックバーの別のアプリケーションを紹介します。ここでは、トラックバーを使用して画像のサイズを変更し、画像に境界線を追加し、トラックバーを使用して境界線のサイズを変更します。 次のプログラムを使用して、画像のサイズの変更、境界線の追加、境界線のサイズの変更、および画像の回転を行うことができます。前の例と似ています。 次のプログラムは、同じトラックバーに複数のスライダーを追加する方法を示しています。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<openc
-
C ++を使用してOpenCVでビデオを回転させる方法は?
ビデオの回転は、画像の回転に似ています。唯一の違いは、静止画を画像マトリックスにロードする代わりに、ビデオをロードするか、カメラからビデオストリームを取得することです。 ここでは、ビデオをロードするのではなく、カメラを使用してビデオを撮影しています。ビデオファイルを使用する場合は、ビデオファイルのアドレスを正しく入力してください。 次のプログラムは、C++を使用してOpenCVでビデオを回転させる方法を示しています。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<open
-
C ++でOpenCVを使用してマウスイベントを操作するにはどうすればよいですか?
マウスイベントは、OpenCVの最も便利な機能の1つです。 OpenCVでは、マウスポインターの位置を追跡し、クリック(右、左、中クリック)を追跡できます。 OpenCVは、ロボット工学とコンピュータービジョンに幅広い用途があります。ロボット工学やコンピュータビジョンの追跡では、マウスポインタとクリックが頻繁に使用されます。 ここでは、画像上のマウスポインタの位置を追跡し、クリックを追跡する方法を理解します。 次のプログラムは、マウスポインタとクリックの位置を追跡する方法を示しています。 例 #include<iostream> #include<opencv2/high
-
C ++でOpenCVを使用して色を検出するにはどうすればよいですか?
特定の色を検出し、色に基づいてオブジェクトを追跡する方法を理解します。色検出および色検出ベースの追跡システムのパフォーマンスは、環境に依存します。 部屋の明かりを変えたり、背景色を変えたりすると、色の検出に大きな影響があります。 次のプログラムは、C++でOpenCVを使用して色を検出する方法を示しています。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace std; using
-
C ++を使用してOpenCVで色を追跡する方法は?
カラートラッキングは、カラー検出に似ています。追跡の目的で、検出されたオブジェクトの領域を計算するために数行を追加し、その領域の現在の位置を追跡し、最後にOpenCVのline()関数を使用してオブジェクトの移動経路を表示しました。 次のプログラムは、C++を使用してOpenCVで色を追跡する方法を示しています。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace std; using
-
C ++を使用してOpenCVの静止画で顔を検出するにはどうすればよいですか?
画像から顔を検出します。顔を検出するために、「detectMultiScale()」関数を使用しました。 この関数の実際の形式は-です。 構文 detectMultiScale(source matrix, vector, searchScaleFactor, minNeighbours, flags, minfeatureSize) 関数の引数を変更することで、「detect.MultiSpace()」関数を制御できます。この関数は次の引数を取ります。 ソースマトリックス 顔が検出されるマトリックスです。この場合、ビデオフレームを保持しているのはマトリックスになります。 ベクトル d
-
C ++を使用してOpenCVの面の数を数える方法は?
画像内にある顔の数を数えるのは簡単です。前のセクションで作成したプログラムには、「faces.size()」の面の数に関する情報がすでに含まれています。このコード-faces.size()は整数値を与えます。 たとえば、「int x =faces.size()」と書くと、「x」には面の数が含まれます。 次のプログラムは、特定の画像から顔の数を計算し、コンソールウィンドウに表示します。 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/objdetect/obj
-
C ++を使用してOpenCVで検出された面をトリミングするにはどうすればよいですか?
OpenCVで検出された顔をトリミングする方法を学びます。検出された面をトリミングするには、複数の行列が必要です。最も適切な方法は、画像配列を使用することです。このプログラムでは、次の2行を使用して、2つの画像行列を宣言しました- マットcropped_faces[4]; マットfaceROI[4]; 最初のマトリックスはトリミングされた画像を保存するためのものであり、2番目のマトリックスは関心領域を定義するためのものです。検出プロセスでは、最初に、プログラムが面を見つけてベクトルに保存します。このプログラムでは、ベクトルの名前は「faces」です。ベクトルには複数の要素を含めることがで
-
C ++を使用してOpenCVで最大の顔を検出するにはどうすればよいですか?
最大の顔だけを検出する方法を学びます。このトピックは前のトピックと同じです。唯一の違いは、追加の「Rect」構造と「forループ」を使用して最大の面を検出したことです。 この関数の実際の形式- Mat faceROI = image_with_humanface(maxRect) maxRectには、画像上にある最大の顔の面積と位置情報があります。上の行は、maxRectに保存されている同じ領域を、画像上で最大の顔が配置されているのと同じ場所にトリミングし、「faceROI」マトリックスに保存しています。 次のプログラムは、静止画から最大の顔を検出します- 例 #include<i
-
C ++を使用してOpenCVで顔の位置を追跡するにはどうすればよいですか?
顔の位置を追跡する場合、楕円には中心があるため、顔を楕円で囲むことをお勧めします。この中心は、検出された面の中心点でもあります。その結果、検出された顔の位置をより正確に追跡できます。 次のプログラムは、検出された顔の中心を追跡し、コンソールウィンドウに位置を表示します- 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> //This header includes definition of 'rectan
-
C ++を使用してOpenCVでリアルタイムで人間の顔を検出する方法は?
リアルタイムで顔を検出することは、静止画で顔を検出することに似ています。唯一の違いはリアルタイムの顔検出であり、コンピューターのビデオストリームを取得する必要があります。このプログラムでは、「VideoCapture()」関数を使用しました。この機能は、他のカメラからビデオをキャプチャし、割り当てられたマトリックスにフレームを一時的に保存します。ここで、この関数はデフォルトのカメラからビデオをキャプチャし、フレームを「real_time」マトリックスに一時的に保存します。 次のプログラムは、人間の顔をリアルタイムで検出します- 例 #include<iostream> #incl
-
C ++を使用してOpenCVでリアルタイムに顔を追跡する方法は?
OpenCVでリアルタイムに顔を追跡する方法を学びます。このプログラムは前のプログラムと同じですが、違いは、顔を識別するために長方形の代わりに楕円を使用し、コンソールウィンドウに顔の座標を表示するために追加の「cout」ステートメントも使用したことです。 リアルタイムで人間の顔を検出する次のプログラム- 例 #include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> //This header includes definiti
-
C ++を使用してOpenCVで目を検出する方法は?
ここでは、OpenCVで目を検出する方法を学びます。 C:/ opencv / sources / data/haarcascadesにあるhaarcascade_eye.xml分類子を使用して目を検出します。目を検出するには、これらのヘッダーを追加する必要があります。 最初のヘッダーはで、C++プログラミング言語のヘッダーです。読み取り書き込みイメージとユーザーインターフェイス機能は、「highgui」ヘッダーで定義されています。画質を向上させるために「imgproc」ヘッダーを追加する必要があります。また、顔と目を検出するために「objdetect」ヘッダーを使用します。 OpenCV
-
C ++を使用してOpenCVで目を追跡する方法は?
ここでは、OpenCVで目を追跡する方法を学びます。目を探偵した後、追跡は簡単で簡単な作業です。検出された目を囲むために円を使用しました。円の中心を追跡することは、目の中心を追跡することを意味します。円の中心を追跡するには、2つの整数変数が必要です。これは最初の2行(9 th )で行われました。 および10th line)main()関数内。整数変数の名前は「x_axis」と「y_axis」です。 42行目と43行目では、中心の水平座標値と垂直座標値が「x_axis」変数と「y_axis」変数にコピーされており、これらは円の中心を持っています。 44日 行、coutステートメントを使用し
-
C ++を使用してOpenCVで眼球の動きを検出および追跡する方法は?
ここでは、OpenCVで眼球の動きを検出および追跡する方法を学習します。 次のプログラムは、眼球を検出して位置を追跡する方法を示しています。 例 #include<iostream> #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> #include<opencv2/objdetect/objdetect.hpp> #include<string> usin
-
C++の特定の配列のすべてのウィンドウサイズの最小値の最大値を見つけます
この問題では、サイズnの配列arr[]が与えられます。私たちのタスクは、特定の配列のすべてのウィンドウサイズの最小値の最大値を見つけることです。 問題の説明 −1からnまで変化するウィンドウサイズの最小値の最大値を見つける必要があります。このために、指定されたウィンドウサイズのサブアレイを検討し、各サブアレイの最小要素を見つけてから、すべての最小値の最大値を見つけます。 問題を理解するために例を見てみましょう 入力 arr[] = {4, 1, 2, 4, 5, 1, 2, 4} 出力 5 4 2 1 1 1 1 1 説明 Window Size : 1 => windows {
-
C++の家から盗まれた可能性のある最大の価値を見つける
この問題では、いくつかの値を持つn個の家が与えられます。私たちの仕事は、家から盗まれた可能性のある最大の価値を見つけることです。 問題の説明 −各家にある値で構成される配列houses[]があります。泥棒は家を奪いますが、隣人が盗難について知っているので、彼は隣接する2つの家から盗むことはできません。泥棒が家から捕まることなく盗むことができる最大の価値を見つける必要があります。 問題を理解するために例を見てみましょう 入力 houses[] = {5, 2, 1, 6, 7, 9, 4, 3} 出力 23 説明 The max values can be stolen as : 5, 6
-
C++のマトリックスで正方形の最大辺の長さを見つける
この問題では、サイズnの2次元行列mat[][]が与えられます。nは奇数です。私たちのタスクは、マトリックス内の正方形の最大辺の長さを見つけることです。 問題の説明 −周囲の値が同じで、行列と同じ中心を共有する正方行列の長さを見つける必要があります。 問題を理解するために例を見てみましょう 入力 mat[][] = { {2, 4, 6, 6, 5}, {1, 7, 7, 7, 3}, {5, 7, 0, 7, 1}, {3, 7, 7, 7, 1}, {2,