void colorReduce(cv::Mat &image)
{
int nl = image.rows; // 行数
int nc = image.cols * image.channels();//列数,当为多通道时:像素点*通道数
if (image.isContinuous())//判断图像是否是连续的
{
nc = nc*nl;
nl = 1;
}
for (int j = 0; j<nl; j++)//当图像连续时,此循环只进行一次
{
uchar* data = image.ptr<uchar>(j);
for (int i = 0; i<nc; i++)
{
// 处理每个像素---------------------
data[i] = data[i] / div*div + div / 2; //进行相关处理,可根据自己的需求改写
// 像素处理结束----------------
}
}
}
opencv中最高效的访问图像像素
最新推荐文章于 2021-04-15 17:57:24 发布