opencv 学习笔记(一)

来源:互联网 发布:php objectaccess 编辑:程序博客网 时间:2024/05/16 19:35

Mat类型:

/*********随机加入噪声*****************/Mat img;int i = rand() % img.rows;int j = rand() % img.cols;if (img.channels() == 1)//图像的通道    img.at<uchar>(i, j) = 255;//访问图像中特定的像素else if (img.channels() == 3){    img.at<cv::Vec3b>(i, j)[0] = 255;    img.at<cv::Vec3b>(i, j)[1] = 255;    img.at<cv::Vec3b>(i, j)[2] = 255;}
/**********高效的遍历彩色图片***********/    int cols = img.cols;    int rows = img.rows;    if (img.isContinuous())//判断图片是否连续    {        cols *= rows;        rows = 1;    }    for (int i = 0; i < rows; i++)    {        cv::Vec3b *data = img.ptr<cv::Vec3b>(i);//使用指针访问        for (int j = 0; j < cols; j++)        {            data[j][0] = 255;            data[j][1] = 255;            data[j][2] = 0;        }    }

代码运行时间检测

    double start = cvGetTickCount();    double end = cvGetTickCount();    double time = (end - start) / cvGetTickFrequency();
原创粉丝点击