2012-05-09 5 views
0
//Open the image 
    Mat img_rgb = imread("sudoku2.png", CV_LOAD_IMAGE_GRAYSCALE); 
    if (img_rgb.empty()) 
    { 
      cout<<"Cannot open the image"<<endl; 
      return; 
    } 
    Mat img_bw = img_rgb > 128; 
    imwrite("image_bw.jpg", img_bw); 

は今、私はimg_bwのすべてのピクセルを取得し、行列M( INT [img_bw.rows] [img_bw.cols])にそれを保存したいです。どのようにC + +でそれを行う。OpenCVの画像の行列を取得

答えて

0

どのような形式ですか?

cv :: Matの生のバイトデータは、.ptr()関数、つまりimg_bw.ptr()から使用できます。 Cでは、あなたが.ATオペレータとのピクセルにアクセスすることができ++:opencv tutorial on xml and yaml i/o

EDITを参照してください -

OpenCVのにもちょうど< <演算子を使用して、行列のXMLとJSONの読み取りと書き込みの機能を持っています。

符号なし文字(CV_8U)ピクセルにはimg_data.at<uchar>(x,y)、CV_32F画像にはimg_data.at<float>(x,y)を使用してください。

+0

ランダムな位置でピクセルを取得する方法を意味します。D。申し訳ありませんが、私の悪い表現。 – logger

関連する問題