Mat的lambda方式像素高效遍历(C++11)

news2024/10/7 4:28:30

Mat的lambda方式像素高效遍历(C++11)


文章目录

  • Mat的lambda方式像素高效遍历(C++11)
  • 前言
  • 一、Mat的lambda方式像素高效遍历
  • 二、代码实现
  • 总结


前言

图像遍历是图像处理中的经典操作,快速高效的进行像素遍历对性能的提升至关重要。


一、Mat的lambda方式像素高效遍历

OpenCV4开始支持,通过Mat的forEach方式结合C++11 lambda表达式,实现对Mat对象快速像素遍历。语法如下:

void cv::Mat::forEach(const Functor & operation)
// 其中operation是一个C++11 lambda表达式,同时也是一个匿名的C++函数。

二、代码实现

#include <iostream>
#include <opencv.hpp>
using namespace std;

int main()
{
	cv::Mat src = cv::imread("F:/work_study/algorithm_demo/lambda.jpg");
	if (src.empty())
	{
		cout << "Image Empty" << endl;
		return -1;
	}

	double start = (double)cv::getTickCount();
	// foreach方式遍历图像
	src.forEach<cv::Vec3b>([](cv::Vec3b& p,const int* position)->void {
		p[0] = 255 - p[0];
		p[1] = 255 - p[1];
		p[2] = 255 - p[2];
		});

	cout <<(((double)cv::getTickCount() - start)) / cv::getTickFrequency()<< endl;
	cv::imwrite("dst.jpg", src);
	cv::waitKey(0);
	return 0;
}

src
dst
result


总结

本文主要介绍了一种新的opencv支持的基于lambda像素遍历方式,快速高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1797553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[AI OpenAI] 提取GPT-4中的概念

总结&#xff1a; 研究人员采用新的可扩展方法&#xff0c;将GPT-4的内部表示分解为1600万个通常可解释的模式&#xff0c;这些模式被称为“特征”&#xff0c;目的是提高语言模型的透明度和可解释性。通过使用稀疏自编码器&#xff0c;研究人员能够识别与特定概念相关的特征&…

《今日科技》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《今日科技》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊 问&#xff1a;《今日科技》是什么级别的&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;浙江省科学技术厅 主办单位&#xff1a;浙江省…

免费分享一套SpringBoot+Vue校园论坛(微博)系统【论文+源码+SQL脚本】,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue校园论坛(微博)系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue校园论坛(微博)系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue校园论坛(微博)系统 Java毕业设计…

Cesium401 (Unauthorized)https://api.cesium.com/v1/assets/2/endpoint未授权问题

目录 前言1.原因分析2.解决问题1.禁用默认的imageryProvider2.禁用图层切换3.移除所有默认图层4.使用自己的地形(可选) 3.最终解决方案4.总结 前言 在初始化Cesium的Viewer以后&#xff0c;Viewer会自动去访问Cesium官网的资源&#xff0c;如果访问不到官网的资源&#xff0c;就…

parseInt函数

貌似遇到问题了&#xff0c;在Java中&#xff0c;parseInt方法是java.lang.Integer类的一个静态方法&#xff0c;它用来将字符串转换为基本数据类型int。如果字符串不能被解析为有效的整数&#xff0c;parseInt会抛出一个NumberFormatException。 原来是取整串转换&#xff0c;…

Lab_ Exploiting an API endpoint using documentation

https://portswigger.net/web-security/learning-paths/api-testing/ 开局一个页面 打开代理和burp&#xff0c;查看功能点&#xff0c;然后看HTTPhistory 然后使用题目已知的账号去登录一下 My account 登录 然后发现 /api 路径 那么我们访问一下 URL/api &#xff0c;发现…

宋仕强论道 之 AI(人工智能)

《宋仕强论道 之 AI&#xff08;人工智能&#xff09;如何赋能新质生产力》于6月3日由新华瞭望网首发后&#xff0c;被环球科技新闻网等多家媒体转载&#xff1b;随后又分别以《宋仕强论道 之 AI如何赋能新质生产力》《宋仕强&#xff1a;AI赋能新质生产力的理论探索与实践路径…

有关大学的搜题软件?六个不限次的公众号和软件分享啦 #其他#职场发展

有些同学虽然喜欢刷题&#xff0c;但是如果参考答案遗失、找不到参考答案&#xff0c;导致做好的题目无法校对&#xff0c;就会比较烦恼了。不过不用担心&#xff0c;今天就给大家分享一些超好用的搜题工具 1.彩虹搜题 这是个老公众号了 它不仅可以查到大学题目&#xff0c;…

【机器学习】朴素贝叶斯算法及其应用探索

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 朴素贝叶斯算法及其应用探索引言1. 朴素贝叶斯基本概念1.1 贝叶斯定理回顾1.2 朴…

【Unity实战篇 】 | Unity实现UGUI颜色渐变,支持透明渐变

前言 【Unity实战篇 】 | Unity实现UGUI颜色渐变&#xff0c;支持透明渐变一、双层颜色渐变1.1 组件属性面板1.2 效果及代码 二、多层颜色渐变2.1 组件属性面板2.2 效果及代码 总结 前言 在Unity中UGUI的实现图片和文字颜色渐变效果是一个很常见的需求。下面就来看一下颜色渐变…

【微前端实战总结篇】

微前端现有的落地方案可以分为三类&#xff0c;自组织模式、基座模式以及模块加载模式。 一、为什么需要微前端? 这里我们通过3W(what,why,how)的方式来讲解什么是微前端&#xff1a; 1.What?什么是微前端? 微前端就是将不同的功能按照不同的维度拆分成多个子应用。通过主应…

面向AI应用开发实战分享 - 基础篇

“前端转AI&#xff0c;第一讲来了” 引言 如果你是一名前端开发&#xff0c;同时又对AI开发很感兴趣&#xff0c;那么恭喜你&#xff0c;机会来了。 如果不是也没关系&#xff0c;同样能帮大家了解AI应用的开发思路。 本文将带大家从面向AI开发的基础知识开始&#xff0c;再…

1、旋转在三维空间中的表现形式

有4种表达方式&#xff1a;旋转矩阵SO(3)、四元数、旋转向量和欧拉角。 一、旋转矩阵SO(3) 定义&#xff1a;旋转矩阵是一个33的正交矩阵&#xff0c;且行列式为1。表示&#xff1a;可逆矩阵&#xff0c;逆矩阵和转置矩阵相同&#xff0c;表示相反的旋转。优点&#xff1a;可…

卫星通信频段有哪些

卫星通信使用到的频段涵盖L, S, C, Ku, Ka等&#xff0c;而最常用的频段是C(4~8GHz)和Ku(12~18GHz)频段&#xff0c;而Ka(27-40GHz)频段是后起之秀。目前地球赤道上空有限的地球同步卫星轨位几乎已被各国占满&#xff0c;C和Ku频段内的频率资源被大量使用&#xff0c;而Ka频段的…

1347:【例4-8】格子游戏

【解题思路】 该题为判断无向图是否有环。可以使用并查集来完成。学习并查集时&#xff0c;每个元素都由一个整数来表示。而该问题中每个元素是一个坐标点&#xff0c;由(x, y)两个整数构成。 将二维坐标变为一个整数,通过一个公式将二维坐标换算为一个整数&…

弘君资本:20家退市!港交所迎“新”扫“旧”

港交所行政总裁陈翊庭周三到会彭博亚洲财富峰会时表明&#xff0c;对研制开支大的企业和许多科技企业来说&#xff0c;香港商场仍是具备招引力的上市渠道&#xff0c;上市规矩18C章可满足特专科技企业需求。 值得一提的是&#xff0c;首家特专科技新股晶泰科技已于6月4日正式进…

抖音小红书淘宝拼多多商家订单对接ERP|获取电商平台订单信息(商家授权)

custom-自定义API操作 支持抖音拼多多淘宝小红书 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_…

恢复误删和格式化的文件的利器

一、简介 1、一款由Piriform开发的免费文件恢复工具,它能够帮助用户恢复那些不小心从电脑上删除的文件,包括从回收站清空的文件,以及因用户错误操作而从存储设备中删除的图片、音乐、文档等多种格式的文件。Recuva支持对硬盘、闪存卡、U盘等多种存储介质进行扫描与恢复,并且…

AI魔法相机:实时3D重建与场景魔法化

一、产品概述 AI魔法相机是一款创新的硬件产品,它结合了AI技术和3D重建扫描技术,能够实时捕捉并重建3D场景和物理世界。用户只需通过简单的点击操作,即可捕捉现实物体或环境,并将其无缝融合到任何场景中,创造出全新的想象现实。 二、核心功能 实时捕捉:一键式操作,迅速…

Redis限流方案

限流简介 限流算法在分布式领域是一个经常被提起的话题&#xff0c;当系统的处理能力有限时&#xff0c;如何阻止计划外的请求继续对系统施压&#xff0c;是一个需要重视的问题。 除了控制流量&#xff0c;限流还有一个应用目的是用于控制用户行为&#xff0c;避免垃圾请求&a…