opencv3 Mat类的成员函数forEach
来源:互联网 发布:安卓访问服务器数据库 编辑:程序博客网 时间:2024/06/05 06:43
#include<opencv2/opencv.hpp>using namespace cv;using namespace std;typedef Point3_<uint8_t> Pixel;void complicatedThreshold(Pixel &pixel){if (pow(double(pixel.x) / 10, 2.5) > 100){pixel.x = 255;pixel.y = 255;pixel.z = 255;}else{pixel.x = 0;pixel.y = 0;pixel.z = 0;}}struct Operator{void operator ()(Pixel &pixel, const int * position) const{// Perform a simple threshold operationcomplicatedThreshold(pixel);}};int main(){Mat image = imread("C:/Users/Administrator/Desktop/timg.jpg");resize(image, image, Size(1920, 1920));clock_t t1 = clock();for (int r = 0; r < image.rows; r++){for (int c = 0; c < image.cols; c++){Pixel pixel = image.at<Pixel>(r, c);complicatedThreshold(pixel);image.at<Pixel>(r, c) = pixel;}}clock_t t2 = clock();cout << t2 - t1 << "ms" << endl;/***********************************************/clock_t t3 = clock();Pixel* pixel = image.ptr<Pixel>(0, 0);const Pixel* endPixel = pixel + image.cols * image.rows;for (; pixel != endPixel; pixel++){complicatedThreshold(*pixel);}clock_t t4 = clock();cout << t4 - t3 << "ms" << endl;/***********************************************/clock_t t5 = clock();image.forEach<Pixel>(Operator());clock_t t6 = clock();cout << t6 - t5 << "ms" << endl;/***********************************************/clock_t t7 = clock();image.forEach<Pixel>([](Pixel &pixel, const int * position) -> void{complicatedThreshold(pixel);});clock_t t8 = clock();cout << t8 - t7 << "ms" << endl;/***********************************************/waitKey();return 0;}对比之下,可以发现forEach的速度很快,因为其里面用了ParallelBody
阅读全文
1 0
- opencv3 Mat类的成员函数forEach
- Mat类的成员函数(中文+英文)
- opencv3学习之Mat类
- 【opencv3】 Mat类用法总结
- opencv3.0-Mat类笔记
- Mat中各成员函数
- opencv中Mat类成员函数clone()和copyto()的区别
- 【OpenCV3图像处理】Mat中元素的获取与赋值( .at<>()函数 和 .ptr<>()函数
- 使用QT5绘制OpenCV3的Mat图像
- Mat类的函数说明
- Mat矩阵 成员函数 和成员变量 总结
- 浅谈Opencv Mat类(常用构造函数和成员函数整理)
- 类的成员函数
- 类的成员函数
- 类的成员函数
- 类的成员函数
- 类的成员函数
- 类的成员函数
- linux 查看日志常用命令
- 适合Java开发者学习的Python入门教程
- 照片滚动
- Robomongo 可视化工具下载
- logback的使用和logback.xml详解
- opencv3 Mat类的成员函数forEach
- 【Algorithm】 着色
- java适配器模式
- postgresql9.6.0
- 单例模式
- 用pyinstaller打包发布含pyqt5模块的程序
- LightOJ 1118 树状数组+离线
- gcc工具链& arm-linux-gcc交叉工具链
- Elasticsearch索引迁移的三种方式