首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

opencv中怎么获取原始像素数组

2013-04-09 
opencv中如何获取原始像素数组请教下根据打开图像的路径读图srcimage cvLoadImage(FilePath)后怎样获取原

opencv中如何获取原始像素数组
请教下根据打开图像的路径读图srcimage= cvLoadImage(FilePath)后怎样获取原始像素数组?谢谢各位
[解决办法]
直接Mat img = imread("lena.jpg")读取即可:




    int main()

    {    

        Mat img = imread("lena.jpg");

        imshow("Lena Original", img);

        for (int row = 0; row < img.rows; row++)

        {

            for (int col = 0; col < img.cols; col++)

            {    

                /* 注意 Mat::at 函数是个模板函数, 需要指明参数类型, 因为这张图是具有红蓝绿三通道的图,

                   所以它的参数类型可以传递一个 Vec3b, 这是一个存放 3 个 uchar 数据的 Vec(向量). 这里

                   提供了索引重载, [2]表示的是返回第三个通道, 在这里是 Red 通道, 第一个通道(Blue)用[0]返回 */

                if(img.at<Vec3b>(row, col)[2] > 128)

                    img.at<Vec3b>(row, col) = Vec3b(255, 255, 255);

            }

        }

        imshow("Lena Modified", img);

        cvWaitKey();

        return 0;

    }

[解决办法]
也可以用unsigned char  b = (unsigned char )srcimage.GetImage()->imageData[0];

热点排行