0

Ycbcr カラー モードのフレームからピクセルの Y 値を取得しようとしています。ここに私が書いたもの:

 cv::Mat frame, Ycbcrframe, helpframe;
 ........ 
cvtColor(frame,yCbCrFrame,CV_RGB2YCrCb); // converting to Ycbcr
Vec3b intensity =yCbCrFrame.at<uchar>(YPoint);
uchar yv  = intensity.val[0]; //  I thought it's my Y value but its not, coz he gives me I think the Blue channel of RGB color space 

それを行う正しい方法は何か

4

2 に答える 2

1

次のコードはどうですか?

Vec3f Y_pix = YCbCrframe.at<Vec3f>(rows, cols);
int pixelval = Y_pix[0];

(PSはまだ試していません)

于 2013-01-07T11:21:17.400 に答える
0

深さ (数値形式とチャネル サンプルの精度) とチャネル数 (通常は 3 ですが、1 (モノクロ) または 4 (アルファを含む) の場合もあります) の両方を事前に知っておく必要があります。

3 チャネル、8 ビットの符号なし整数 (別名バイトまたはuchar) ピクセル形式の場合、各ピクセルは次のようにアクセスできます。

mat8UC3.at<cv::Vec3b>(pt);
于 2015-04-06T23:51:52.080 に答える