OpenCV 1 - 加载 显示 修改 保存图像

1 加载图像(cv::imread)

imread功能是加载图像文件成为一个Mat对象

  • 第一个参数,表示图像文件名称
  • 第二个参数,表示加载的图像是什么类型,支持常见的三个参数值
参数注释
IMREAD_UNCHANGED表示加载原图,不做任何改变
IMREAD_GRAYSCALE表示把原图作为灰度图像加载进来
IMREAD_COLOR表示把原图作为RGB图像加载进来

注意:OpenCV支持JPG、PNG、TIFF等常见格式图像文件加载

2 显示图像(cv::namedWindos 与 cv::imshow)

namedWindos功能是创建一个OpenCv窗口,它是由OpenCv自动创建与释放,你无需取销毁它。

常见用法:

namedWindow("Window Title",CV_WINDOW_AUTOSIZE);
参数注释
CV_WINDOW_AUTOSIZE会自动根据图像大小显示窗口,不能改变窗口大小
CV_WINDOW_NORMAL用户可以调整窗口大小(无限制)

imshow根据窗口名称显示图像到指定的窗口上去

  • 第一个参数是窗口名称
  • 第二参数是Mat(图像)对象

3 修改图像(cv::cvtColor)

cvtColor的功能是把图像从一个彩色空间转换到另外一个色彩空间

  • 第一个参数表示:源图像
  • 第二个参数表示:色彩空间转换之后的图像
  • 第三个参数表示:源和目标色彩空间如:
参数注释
CV_BGR2HLSRGB/BGR转换为HLS(色调-亮度-饱和度),H范围为0-180
CV_BGR2GRAYRGB/BGR转换灰度

常见用法:

cvtColor( image, gray_image, COLOR_BGR2GRAY );

4 保存图像(cv::imwrite)

保存图像文件到指定目录路径

只有8位、16位的PNG、JPG、Tiff文件格式而且是单道或者三通道的BGR的图像才可以通过这种方式保存 , 保存PNG格式的时候可以保存透明通道的图片

  • 第一个参数表示:保存的路径
  • 第二个参数表示:保存的图片对象
  • 第三个参数表示:将特定参数格式化为成对的编码(可省略)

常见用法:

imwrite("./gray_image.png",gray_image);

个人学习opencv总结,如有错误请大佬指正,谢谢!

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

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

相关文章

Linux——常用命令

1、命令的基本格式 对服务器来讲,图形界面会占用更多的系统资源,而且会安装更多的服务、开放更多的端口,这对服务器的稳定性和安全性都有负面影响。其实,服务器是一个连显示器都没有的家伙,要图形界面干什么&#xff…

力扣hot100 字符串解码 栈 辅助栈

Problem: 394. 字符串解码 文章目录 思路💖 辅助栈 思路 👨‍🏫 路飞 💖 辅助栈 ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( n ) O(n) O(n) class Solution {public String decodeString(String s…

MCU启动文件小解一下

GD32启动文件分析 启动文件的一些指令.s启动文件分析栈空间分配堆空间管理中断向量表定义堆空间定义Reset_Handler复位程序HardFault_Handler_main文件分析用户堆栈初始化 GD32启动文件主要做了以下工作: 初始化SP_initial_sp , PCReset_Handler指针,设置…

C#,计算几何,随机点集之三角剖分的德劳内(Delaunay)算法的源代码

一、三角剖分Delaunay算法简介 点集的三角剖分(Triangulation),对数值分析(比如有限元分析)以及图形学来说,都是极为重要的一项预处理技术。尤其是Delaunay三角剖分,由于其独特性,关…

day04 两两交换链表中的节点、删除链表倒数第N个节点、链表相交、环形链表II

题目链接:leetcode24-两两交换链表中的节点, leetcode19-删除链表倒数第N个节点, leetcode160-链表相交, leetcode142-环形链表II 两两交换链表中的节点 基础题没有什么技巧 解题思路见代码注释 时间复杂度: O(n) 空间复杂度: O(1) Go func swapPairs(head *Li…

thinphp 调用 \think\Log::write 写入回调日志信息

//接口回调地址 public function back_content(){\think\Log::record(进来了, info); $data file_get_contents(php://input);$ret json_decode($data,true); \think\Log::write(调用第一张图片返回结果.$data,log,true); } Think\Log::record(测试日志信息,这是…

Spark面试全攻略:深入理解与高效准备指南

目录 基础问题 进阶问题 高阶问题 相关资料 基础问题<

class_19:抽象类(纯虚函数不能被实例化)

#include <iostream>using namespace std;class Teacher{ public:string name;string school;virtual void goinclass() 0;//纯虚函数不能被实例化 抽象类virtual void startclass() 0;//纯虚函数不能被实例化virtual void afterclass() 0;//纯虚函数不能被实例化 };…

Android App开发-简单控件(4)——按钮触控和图像显示

3.4 按钮触控 本节介绍了按钮控件的常见用法&#xff0c;包括&#xff1a;如何设置大小写属性与点击属性&#xff0c;如何响应按钮的点击事件和长按事件&#xff0c;如何禁用按钮又该如何启用按钮&#xff0c;等等。 3.4.1 按钮控件Button 除了文本视图之外&#xff0c;按钮…

优化无人机调试中的开源软件

优化无人机调试中的开源软件&#xff0c;可以从以下几个方面入手&#xff1a; 代码优化&#xff1a;检查软件的代码&#xff0c;查看是否存在冗余、低效的代码&#xff0c;或者是否有优化的空间。例如&#xff0c;优化算法、减少不必要的计算等。硬件资源优化&#xff1a;在无…

IMXULL驱动学习——通过总线设备驱动模型点亮野火开发板小灯【参考韦东山老师教程】

参考&#xff1a;【IMX6ULL驱动开发学习】11.驱动设计之面向对象_分层思想&#xff08;学习设备树过渡部分&#xff09;-CSDN博客 韦东山课程&#xff1a;LED模板驱动程序的改造_总线设备驱动模型 我使用的开发板&#xff1a;野火imx6ull pro 欢迎大家一起讨论学习 实现了总线设…

【探索科技 感知未来】文心一言大模型

【探索科技 感知未来】文心大模型 &#x1f6a9;本文介绍 文心一言大模型是由中国科技巨头百度公司研发的一款大规模语言模型&#xff0c;其基于先进的深度学习技术和海量数据训练而成。这款大模型具备强大的自然语言处理能力&#xff0c;可以理解并生成自然语言&#xff0c;为…

leetcode hot100岛屿数量

本题中要求统计岛屿数量&#xff08;数字1的上下左右均为1&#xff0c;则是连续的1&#xff0c;称为一块岛屿&#xff09;。那么这种类型题都是需要依靠深度优先搜索&#xff08;DFS&#xff09;或者广度优先搜索&#xff08;BFS&#xff09;来做的。这两种搜索&#xff0c;实际…

蓝牙----蓝牙GAP层

蓝牙协议栈----GAP GAP的角色连接过程连接参数 GAP&#xff1a;通用访问配置协议层 gap的角色发现的模式与过程连接模式与过程安全模式与过程 CC2640R2F的GAP层抽象 GAP的角色 Broadcaster 广播电台 -不可连接的广播者。Observer 观察者 -扫描广播者但无法启动连接。Periphe…

降低文件增长和失真的零系数JPEG图像可逆信息隐藏

一、研究概述和意义 随着多媒体技术和网络的迅猛发展&#xff0c;数字媒体的应用越来越广泛。在网络上传输的数字 媒体如音频、文本、视频和图像的内容及数据安全问题也随之而来。伴随着计算机技术发展与普及&#xff0c;数字媒体的机密性、完整性经常受到非法活动的威胁&…

vue中的computed

目录 一&#xff1a;介绍 二&#xff1a;例子演示 一&#xff1a;介绍 在 Vue.js 中&#xff0c;computed 属性是一种特殊类型的属性&#xff0c;它允许你声明依赖于其他数据属性的值。computed 属性的值是通过一个函数计算得出的&#xff0c;这个函数可以在其依赖的数据发生…

【MongoDB】mongodb安装及启动踩坑点

mongodb的安装&#xff0c;基本上参考文章[1]。 但是在过程中&#xff0c;有一些踩坑点。 1&#xff0c;高版本mongodb不自带mongo脚本 在文章1中&#xff0c;作者在解压后&#xff0c;直接使用了mongo脚本&#xff0c;而我下载的mongodb版本要更高&#xff0c;在解压后&…

深入理解stressapptest

文章目录 一、概述二、安装2.1、源码编译安装2.2、命令行安装2.3、安装确认三、重要参数详解3.1、查询支持的参数3.2、参数说明 四、实例4.1、随机测试&#xff08;默认模式&#xff09;4.2、循环测试4.2、全内存测试 团队博客: 汽车电子社区 一、概述 stressapptest是一款免费…

C++重新入门-内联函数

C中的内联函数是一种优化手段&#xff0c;用于减少函数调用的开销。内联函数的主要特点是在调用处将函数体的代码直接插入&#xff0c;而不是通过函数调用的方式执行。这样可以避免函数调用的开销&#xff0c;但也有一些限制和注意事项。 1.内联函数的定义 在函数定义前面加上…

HCIA-HarmonyOS设备开发认证-2.设备开发入门

目录 HarmonyOS设备开发学习路径一、开发项目与工具介绍1.1、设备开发环境准备1.2、设备开发流程1.3、Huawei DevEco Device Tool 二、OpenHarmony介绍OpenHarmony目录结构详细介绍applications目录详解base目录详解foundation目录详解 OpenHarmony接口分层介绍CMSIS 和 POSIX …