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

OpenCVのイテレータメソッドを使用して色を減らす方法は?


OpenCVには、C++STL互換の「Matiterator」クラスがあります。この「マットイテレータ」クラスを使用すると、ピクセルに非常に簡単にアクセスできます。 'Matiterator'クラスのオブジェクトを作成する必要があります。 'Mat_ ::イテレータの例'として実行できます。テンプレートメソッドであるため、「Mat_」のように「Mat」の後にアンダースコアを使用する必要があります。このメソッドでは、「iterator」クラスのオブジェクトを作成するときに、戻り値のタイプを指定する必要があります。そのため、データ型を宣言しました。

次のプログラムは、OpenCVのイテレータメソッドを使用して色を減らす方法を示しています。

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace std;//Declaring std namespace
using namespace cv;//Declaring cv namespace
void reducing_Color(Mat& image, int div = 64){ //Declaring the function//
   Mat_<Vec3b>::iterator iterator_start;//Declaring starting iterator//
   iterator_start = image.begin<Vec3b>();//Obtain iterator at initial position//
   Mat_<Vec3b>::iterator iterator_end;//Declaring ending iterator//
   iterator_end = image.end<Vec3b>();//Obtain iterator an end position//
   for (; iterator_start != iterator_end; iterator_start++){ //Loop for all pixels//
      (*iterator_start)[0] = (*iterator_start)[0] / div * div + div / 2;//Process pixels of first channel//
      (*iterator_start)[1] = (*iterator_start)[1] / div * div + div / 2;//Process pixels of second channel//
      (*iterator_start)[2] = (*iterator_start)[2] / div * div + div / 2;//Process pixels of third channel//
   }
}
int main() {
   Mat image;//taking an image matrix//
   image = imread("mango.jpg");//loading an image//
   namedWindow("Image Window");//Declaring another window//
   reducing_Color(image);//calling the function//
   imshow("Image Window", image);//showing the image with reduced color//
   waitKey(0);
   return 0;
}

出力

OpenCVのイテレータメソッドを使用して色を減らす方法は?


  1. OpenCVライブラリを使用してポジティブイメージをネガティブに変換するにはどうすればよいですか?

    画像をネガに変換するアルゴリズム 各ピクセルの赤、緑、青の値を取得します 255から各色の値を引き、新しい色の値として保存します。 変更した色から新しいピクセル値を作成します。 新しい値をピクセルに設定します。 Javaでの実装 ImageIO.read()メソッドを使用して必要な画像を読み取ります。 画像の高さと幅を取得します。 ネストされたforループを使用すると、画像の各ピクセルをトラバースします。 getRGB()メソッドを使用してピクセル値を取得します。 上記で取得したピクセル値をパラメータとしてバイパスしてColorオブジェ

  2. WindowsPCで画像の色を反転する方法

    このチュートリアルでは、画像の色を反転する方法を示します。 。画像の色を反転させるとは、画像のネガを作成することを意味します。画像の色を反転させることになると、利用可能なオプションがたくさんあります。 Microsoftペイントまたは他の無料のソフトウェアとオンラインツールを同じように使用できます。この記事では、画像の色を反転させるためのさまざまなオプションについて説明します。 画像の色を反転するにはどうすればよいですか? Microsoftペイントを使用して、画像の色を反転させることができます。それとは別に、画像の色を無料で反転できる無料のソフトウェアとオンラインツールがいくつかあり