C ++を使用してOpenCVの色空間を変換するにはどうすればよいですか?
色空間は色を表現するモデルです。色を説明する方法はいくつかあります。たとえば、RGB、CYMK、HSV、グレースケールなど。
ここでは、'imgproc.hpp'という名前の新しいヘッダーを使用しました。 この'imgproc.hpp' 画像処理の略語です。色空間を変換するには、'cvtColor()'を使用する必要があります OpenCVの機能。この関数は'imgproc'で定義されています ヘッダーファイル。そのため、'imgproc.hpp'を含めました。
まず、2つの行列と2つのウィンドウを宣言しました。これらは、画像を読み込んで表示するためのものです。次に、「cat.jpg」という名前の画像を「myImage」にロードしました。 マトリックス。その後、'cvtColor(myImage、myImage_Converted、COLOR_RGB2GRAY)'を使用しました。 この行は、「myImage」のRGB色空間をグレースケールに変換し、「myImage_Converted」マトリックスに格納します。
'cvtColor()の生の形式 関数は-
cvtColor(Source Matrix, Destination Matrix, Color Space Conversion Code)
このプログラムでは、ソースマトリックスは「myImage」、デスティネーションマトリックスは「myImage_Converted」、色空間変換コードはCOLOR_RGB2GRAYです。
次のプログラムは、OpenCVでRGB画像をグレースケール画像に変換します。
例
#include<iostream> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace cv; using namespace std; int main(int argc, const char** argv) { Mat myImage;//declaring a matrix to load the image// Mat myImage_Converted;//declaring a matrix to store the converted image// namedWindow("Actual_Image");//declaring window to show actual image// namedWindow("Converted_Image");//declaring window to show converted image// myImage = imread("cat.jpg");//loading the image in myImage matrix// cvtColor(myImage,myImage_Converted, COLOR_RGB2GRAY);//converting RGB to Grayscale// imshow("Actual_Image",myImage);//showing Actual Image// imshow("Converted_Image",myImage_Converted);//showing Converted Image// waitKey(0);//wait for key stroke destroyAllWindows();//closing all windows return 0; }
出力
-
C ++を使用してOpenCVでバイナリイメージを作成するにはどうすればよいですか?
バイナリイメージは、白黒の2色を表す単なるデジタルイメージです。画像処理の観点から、バイナリ画像には、0と1の2つの可能な値を持つピクセルが含まれています。ピクセルの値が0の場合、それは純粋な黒色を表します。ピクセルの値が1の場合、それは純粋な白色を意味します。 グレースケール画像では、それぞれに256の異なる可能な値があります。しかし、バイナリイメージでは、可能な値は2つだけです。バイナリイメージには、さまざまなタイプのアプリケーションがあります。たとえば、形態学的変換には2値画像が必要であり、背景からのオブジェクト形状の抽出には2値画像が必要です。OpenCVを使用すると、画像を2値画像
-
OpenCVライブラリを使用してポジティブイメージをネガティブに変換するにはどうすればよいですか?
画像をネガに変換するアルゴリズム 各ピクセルの赤、緑、青の値を取得します 255から各色の値を引き、新しい色の値として保存します。 変更した色から新しいピクセル値を作成します。 新しい値をピクセルに設定します。 Javaでの実装 ImageIO.read()メソッドを使用して必要な画像を読み取ります。 画像の高さと幅を取得します。 ネストされたforループを使用すると、画像の各ピクセルをトラバースします。 getRGB()メソッドを使用してピクセル値を取得します。 上記で取得したピクセル値をパラメータとしてバイパスしてColorオブジェ