C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++を使用してOpenCVで画像をロードして表示するにはどうすればよいですか?


このトピックでは、C++でOpenCVを使用して画像を読み込んで表示する方法を決定します。 OpenCVで画像を読み込んで表示するには、次の機能が必要です。

  • マット: マットは機能ではありません。これはデータ構造であり、変数の一種です。 C ++のint、char、string変数タイプと同様に、MatはOpenCVの変数であり、その中に画像をロードするためのマトリックスデータ構造を作成します。このプログラムでは、「MatmyImage;」と書きました。 これは、'myImage'という名前の行列変数を宣言していることを意味します。
  • namedWindow(): メモリを割り当て、画像を表示するウィンドウを作成します。フォトフレームのように機能します。 OpenCVでは、関数を'namedWindow( "name of the window"、flag)'として作成する必要があります。
  • 3 imread(): この関数は、定義された場所から画像を読み取ります。このプログラムは、「C:」ドライブからイメージを読み取ります。この関数を使用するには、「imread( "画像の場所/拡張子が付いた画像の名前"、flag)」と記述する必要があります。
  • imshow(): この関数は、定義されたウィンドウに画像を表示します。この関数を使用するには、'imshow(ウィンドウの名前 "、マトリックスの名前)'と記述する必要があります。
  • waitKey(): これはOpenCVの重要な機能です。画像を処理して操作を実行するには、システムにしばらく時間がかかる必要があります。私たちがそれをしなければ、私たちはしません

この関数は、プログラムを閉じる前に一定期間待機します。 waitKey(10000)を使用すると、10秒後にプログラムが閉じます。 waitKey(0)と書くと、目的の出力が得られます。この機能により、システムの動作に必要な時間を与えることができます。ユーザーからのキーストロークを待ちます。ユーザーがキーボードからいずれかのキーをクリックすると、プログラムは停止します。この関数は、「waitKey(milliseconds)」と記述する必要があります。

  • destroyWindows(): この関数はすべてのウィンドウを閉じます。ウィンドウを作成するときは、メモリを割り当てます。 destroyWindow() 関数はそのメモリをシステムに解放します。

次のプログラムは、OpenCVライブラリを使用して画像を読み込んで表示する方法を示しています。

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main() {
   Mat myImage;//declaring a matrix named myImage//
   namedWindow("PhotoFrame");//declaring the window to show the image//
   myImage = imread("lakshmi.jpg");//loading the image named lakshme in the matrix//
   if (myImage.empty()) {//If the image is not loaded, show an error message//
      cout << "Couldn't load the image." << endl;
      system("pause");//pause the system and wait for users to press any key//
      return-1;
   }
   imshow("PhotoFrame", myImage);//display the image which is stored in the 'myImage' in the "myWindow" window//  
   destroyWindow("Photoframe");//close the window and release allocate memory//
   waitKey(0);//wait till user press any key
   return 0;
}

上記のプログラムを実行すると、次の出力が得られます-

出力

C ++を使用してOpenCVで画像をロードして表示するにはどうすればよいですか?


  1. 画像を読み込んでKerasを使用して画像を表示するにはどうすればよいですか?

    画像を読み込んでKerasを使用して画像を表示するには、 load_image()を使用します 画像を読み込んで、表示する画像のターゲットサイズを設定する方法。 ステップ load_img()を使用します フィギュアをロードする方法。 画像のターゲットサイズを設定します。 図を表示するには、 show()を使用します メソッド。 例 from keras.preprocessing import image img = image.load_img('bird.jpg', target_size=(350, 750)) img.show() 出力

  2. OpenCV関数circle()を使用して円を描きます

    この記事では、OpenCV関数circle()を使用して画像に円を描きます。 元の画像 アルゴリズム Step 1: Import OpenCV. Step 2: Define the radius of circle. Step 3: Define the center coordinates of the circle. Step 4: Define the color of the circle. Step 5: Define the thickness. Step 6: Pass the above arguments into cv2.circle() along with t