Emgu CV(またはOpenCV)を使用してイメージのサブパートをカット(またはトリミング)し、そのパーツの平均カラーを計算したいと思います。変更を探しています。あなたはこの作業している画像のROI(関心領域)を設定しEmgu CV(またはOpenCV)を使用して画像の下位部分をカットする方法は?
おかげ
Emgu CV(またはOpenCV)を使用してイメージのサブパートをカット(またはトリミング)し、そのパーツの平均カラーを計算したいと思います。変更を探しています。あなたはこの作業している画像のROI(関心領域)を設定しEmgu CV(またはOpenCV)を使用して画像の下位部分をカットする方法は?
おかげ
は、任意の計算はこの領域のみを介して行われている意味します。
image.ROI = new Rectangle(x、Y、Width、Height);
は、 "TYPE" は、グレースケール
用カラーグレーTYPE平均= image.GetAverage(画像)に対する画像依存BGRあるROIの平均を計算します。
すべてのプロセスは、各ピクセルをループし、その値を加算して合計ピクセル数で除算します。自分でコードを書くのを忘れてしまいます。
おかげで クリス
私はOpenCVのの新しいバージョンが(2.3以降)のROIを行うための別の方法を持っていると思います。ここでは、マニュアルが言うことだ。ここでは
// create a new 320x240 image
Mat img(Size(320,240),CV_8UC3);
// select a ROI
Mat roi(img, Rect(10,10,100,100));
// fill the ROI with (0,255,0) (which is green in RGB space);
// the original 320x240 image will be modified
roi = Scalar(0,255,0);
は、私は1つのインスタンスでやったことです:
// adding a header on top of image
Mat dst = Mat::zeros(frame.rows + HEADER_HEIGHT, frame.cols, CV_8UC3);
// frame portion
Mat roi(dst, Rect(0, HEADER_HEIGHT-1, frame.cols, frame.rows));
// header portion
Mat head(dst, Rect(0,0,frame.cols, HEADER_HEIGHT));
// zeros to clear the header portion
Mat zhead = Mat::zeros(head.rows, head.cols, CV_8UC3);
frame.copyTo(roi); // copy new image to image portion of dst
zhead.copyTo(head); // clear the header portion of dst
あなたの平均を計算するサブフレーム(私の例ではroi
とhead
)のいずれかを使用することができます領域。関心領域を移動させる機能はadjustROI
であり、使用する可能性がある関数locateROI
もあります。