opencv学习笔记(03)——遍历图像(迭代器法)

 #include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\core\core.hpp> void colorReduce(cv::Mat& img, int div=); int main()
{
cv::Mat img_orginal = cv::imread("F:\\images\\boldt.jpg");
cv::Mat img_altered = img_orginal.clone(); colorReduce(img_altered); cv::namedWindow("orignal");
cv::imshow("orignal", img_orginal);
cv::namedWindow("altered");
cv::imshow("altered", img_altered); cv::waitKey(); return ;
} void colorReduce(cv::Mat& img, int div)
{
int n = cv::log(static_cast<double>(div)) / cv::log(2.0);
int mask = 0xFF << n; // 方式一:
//cv::Mat_<cv::Vec3b>::iterator it = img.begin<cv::Vec3b>();
// 方式二:
cv::MatIterator_<cv::Vec3b> it = img.begin<cv::Vec3b>();
for(; it!=img.end<cv::Vec3b>(); it++)
{
(*it)[] = (*it)[] & mask + div / ;
(*it)[] = (*it)[] & mask + div / ;
(*it)[] = (*it)[] & mask + div / ;
}
}
上一篇:windows环境下yapi内网部署详细步骤


下一篇:markdown语法入门笔记