数字图像处理操作图像像素用迭代器方法
自学中遇到的一些问题
两种方法但是下面for中代码是统一的,如果要运行需要修改,不然图片无反应
Mat_::iterator it = outputImage.begin();
Mat_::iterator itend = outputImage.end();
for (; it != itend; it++,itend++)
{
(*it)[0] = (*it)[0] / div * div + div / 2;
(*it)[1] = (*it)[1] / div * div + div / 2;
(*it)[2] = (*it)[2] / div * div + div / 2;
}
Mat_ cimage = outputImage;
Mat_::iterator itout = cimage.begin();
Mat_::iterator itoutend = cimage.end();
for (; itout != itoutend; itout++, itoutend++)
{
(*itout)[0] = (*itout)[0] / div * div + div / 2;
(*itout)[1] = (*itout)[1] / div * div + div / 2;
(*itout)[2] = (*itout)[2] / div * div + div / 2;
}
如果两种指明都写就可以直接使用书上的代码
本文探讨了如何使用迭代器在数字图像处理中操作像素,对比了Mat_和Mat_cimage两种数据结构在for循环中的不同使用方式,以解决在自学过程中遇到的问题。
1万+

被折叠的 条评论
为什么被折叠?



