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

OpenCVのダイレクトアクセス方式を使用してピクセル値を変更するにはどうすればよいですか?


前の方法('at'メソッド)では、ピクセル値にアクセスするときに画像タイプを指定する必要があります。 'at'メソッドよりも単純な別のメソッドがあります。ダイレクトアクセス方式と呼ばれます。このメソッドを使用してピクセル値にアクセスするには、 Mat 、Mat 、Mat などのMatタイプを指定する必要があります。 など。

次のプログラムは、OpenCVでダイレクトアクセス方式を使用してピクセル値を変更する方法を示しています。

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;//Declaring cv namespace
using namespace std;
void direct_access(Mat_<Vec3b> &image, int n){ //Declaring the function//
   for (int x = 0; x < n; x++){ //initiating a for loop//
      int i = rand() % image.cols;//accessing random column//
      int j = rand() % image.rows;//accessing random rows//
      image(j, i) = 0;//setting the pixel values to zero//
   }
}
int main() {
   Mat_<Vec3b> image;//taking an image matrix//
   Mat unchanged_Image;//taking another image matrix//
   image = imread("sky.jpg");//loading an image//
   unchanged_Image = imread("sky.jpg");//loading the same image//
   namedWindow("Noisy Image");//Declaring an window//
   namedWindow("Unchanged Image");//Declaring another window//
   direct_access(image, 4000);//calling the direct access function//
   imshow("Noisy Image", image);//showing the Noisy image
   imshow("Unchanged Image", unchanged_Image);//showing the unchanged image//
   waitKey(0);//wait for Keystroke//
   return 0;
}

出力

OpenCVのダイレクトアクセス方式を使用してピクセル値を変更するにはどうすればよいですか?


  1. Java OpenCVライブラリを使用して画像のピクセル(RGB値)を設定/変更するにはどうすればよいですか?

    ピクセルはデジタル画像の最小要素であり、各ピクセルにはアルファ、赤、緑、青の値が含まれています。ピクセル値は、同じ順序でARGB値(各8ビット)を保持する32ビットのメモリ空間に格納されます。したがって、画像の色を変更するには- 画像の各ピクセルをループする必要があります。 getRGB()メソッドを使用してピクセル値を取得します。 ピクセル値からARGB値を取得します。 RGB値に必要な変更を加えます。 変更されたRGB値を使用して新しいピクセル値を作成します。 setRGB()メソッドを使用して新しいピクセル値を設定します。 ARGB値の設定- ピ

  2. Pythonでscikit-learnを使用して画像のピクセル値を表示するにはどうすればよいですか?

    データの前処理とは、基本的に、すべてのデータ(さまざまなリソースまたは単一のリソースから収集される)を共通の形式または統一されたデータセット(データの種類に応じて)に収集するタスクを指します。 実際のデータは決して理想的ではないため、データにセルの欠落、エラー、外れ値、列の不一致などが含まれる可能性があります。 場合によっては、画像が正しく配置されていないか、鮮明でないか、サイズが非常に大きいことがあります。前処理の目標は、これらの不一致やエラーを取り除くことです。 画像のピクセルを取得するには、「flatten」という名前の組み込み関数を使用します。画像が読み取られた後、ピクセル値はデ