ubuntu 下的opencv3的下载与实现简单功能

news2025/1/11 6:02:26

看自己用户的名字

whoami 

        例子1:

#include <stdio.h>
#include <opencv2/opencv.hpp>


using namespace std;
using namespace cv;


int main()
{
	cv::Mat image;
	
	namedWindow("DebugWindow", WINDOW_NORMAL); 
                resizeWindow("DebugWindow", 640,480);
		
                image = cv::imread("/home/firefly/fan/1234.jpg");
	
	imshow("DebugWindow", image);
	waitKey(0);

	image.release();
	destroyAllWindows();
	
	
	return 0;
}

namedWindow()

原型

        void nameWindow(const string& winname,int flags = WINDOW_AUTOSIZE) ;

功能

        就是新建一个显示窗口。可以指定窗口的类型。

参数

  参数1:新建的窗口的名称。自己随便取。

  参数2:窗口的标识,

                        一般默认为WINDOW_AUTOSIZE 。

                        WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更改。

                        WINDOW_NORMAL 用户可以改变这个窗口大小

                        WINDOW_OPENGL 窗口创建的时候会支持OpenGL
 

resizeWindow()

功能

        可任意改变窗口尺寸(但实际的窗口尺寸不会超过相机的最大帧尺寸)

imread()

原型

        imread(const string& filename,int flag);

功能

        图像读取的意思,image read的缩写

参数

        参数一:const string& filename 传入参数为文件名字。
  支持图片格式:
                          1、windows位图:*.bmp,*.dib;
                          2、JPEG文件:*.jpg,*.jpe,*.jpeg;
                          3、JPEG 2000 文件;
                          4、PNG 图片:*.png;
                          5、便携文件格式;
                          6、Sun rasters;
                          7、TIFF文件;
        参数二:int flag参入参数
                            IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
                            IMREAD_GRAYSCALE:读入灰度图片
                            IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
            也可以写成如下:
                          取值0,将图像转化为灰图;
                          取值2,原深度图像;
                          取值4,原颜色图像;
                          取值1为彩图
                          一般来说:取值<0 Alpha通道加载图像,=0为灰图。
 

 

imshow()

原型

        void imshow(const string& winname, InputArray mat);

功能

       用于在指定的窗口显示一幅图

参数

                第一个参数:

                        const string&类型的winname,填需要显示的窗口标识名称。
                第二个参数:

                        InputArray类型的mat,填需要显示的图像。

规则

        1、如果图像数据类型是8U(8位无符号),则直接显示。
        

       2、 如果图像数据类型是16U(16位无符号)或32S(32位有符号整数),则imshow函数内部会自动将每个像素值除以256并显示,即将原图像素值的范围由[0~255*256]映射到[0~255]
                   

      3、  如果图像数据类型是32F(32位浮点数)或64F(64位浮点数),则imshow函数内部会自动将每个像素值乘以255并显示,即将原图像素值的范围由[0~1]映射到[0~255](注意:原图像素值必须要归一化)

waitKey()

功能

        是等待一个按键按下。

 规则       

        Waitkey在你加载图片时必须使用,否则就会一闪而过;
                当x>0,waitkey返回在x时间(毫秒)内按下的按键的ASCII值,否则返回-1;
                当x=0,waitkey表示永久等待,直到有键按下;

例子

           waitKey(0);                //任意按键按下,图片显示结束,返回按键键值

            waitKey(10);             //等待至少10ms图片显示才结束,期间按下任意键图片显示结束,返回按键键值

        

destroyAllWindows()

功能

        关闭窗口并取消分配任何相关的内存使用。    

用法        

                您可以调用destroyWindow()或destroyAllWindows()来关闭窗口并取消分配任何相关的内存使用。

                对于一个简单的程序,实际上不必调用这些函数,因为退出时操作系统会自动关闭应用程序的所有资源和窗口

release()

功能

                    图片,释放    

例子

                       image.release();    把image的图片释放       

VideoCapture capture()

                视频的读操作是通过VideoCapture类来完成的;

                关于视频的写操作是通过VideoWriter类来实现的。

原型    

                cv::VideoCapture capture(const string& filename); // 从视频文件读取     

                cv::VideoCapture capture("lzp.mp4"); // 从视频文件读取

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

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

相关文章

OAuth2(2)

目录 一、OAuth2的项目介绍 1.搭建OAuth2流程演示 2.创建项目结构 ① 客户 ② 认证服务器 ③ 资源所有者 ④ 资源服务器 ⑤ 客户发送请求 3.流程 一、OAuth2的项目介绍 1.搭建OAuth2流程演示 ① 下载代码 演示代码下载&#xff1a; https://gitee.com/lisenaq/…

MySQL8.0-Linux版安装

MySQL8.0.26-Linux版安装 1. 准备一台Linux服务器 云服务器或者虚拟机都可以; Linux的版本为 CentOS7; 2. 下载Linux版MySQL安装包 https://downloads.mysql.com/archives/community/ 3. 上传MySQL安装包 4. 创建目录,并解压 mkdir mysqltar -xvf mysql-8.0.26-1.el7.x86…

redis四:redis实现分布式锁

文章目录redis实现分布式锁环境搭建redis手写分布式锁redisson 分布式锁分析springboot 整合 redissonredisson原理分析redisson源码分析加锁逻辑锁续命逻辑redisson获取不到锁自旋逻辑解锁逻辑redis实现分布式锁 环境搭建 搭建nginx 模拟分布式情况 upstream redissonlock{…

排序算法的实现

文章目录 一、排序的概念及其运用 1.排序的概念2.常见的排序算法二、常见排序算法的实现 1.插入排序 1.直接插入排序2.希尔排序2.选择排序 1.直接选择排序2.堆排序3.交换排序 1.冒泡排序2.快速排序 1.hoare版本2.挖坑法3.前后指针版本4.归并排序5.非比较排序三、排序算法复杂度…

AOSP 8.0 系统启动之一内核启动

目录 一、前言 二、涉及源码​​​​​​​ 三、源码分析​​​​​​​ 一、前言 Android本质上就是一个基于Linux内核的操作系统&#xff0c;与Ubuntu Linux、Fedora Linux类似&#xff0c;我们要讲Android&#xff0c;必定先要了解一些Linux内核的知识。 Linux内核的东西…

LeetCode - 630 课程表Ⅲ

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 630. 课程表 III - 力扣&#xff08;LeetCode&#xff09; 题目描述 这里有 n 门不同的在线课程&#xff0c;按从 1 到 n 编号。给你一个数组 courses &#xff0c;其中 courses[i] [durationi, lastDay…

被面试官问住了,MySQL两阶段提交是什么鬼?

前言 MySQL通过两阶段提交的机制&#xff0c;保证了redo log和bin log的逻辑一致性&#xff0c;进而保证了数据的不丢失以及主从库的数据一致。 而说起两阶段提交&#xff0c;就不得不先介绍一下redo log和bin log。 redo log redo log即重做日志&#xff0c;是InnoDB引擎特…

捷报频传 | 中睿天下再获“2022信创产业实干者企业”荣誉称号

近日&#xff0c;国内信创专业媒体“信创产业”正式公布“2022信创产业实干者”申报结果&#xff0c;同期发布信创产业实干者全景图。作为以“实战对抗”为特点的能力价值型网络安全厂商&#xff0c;中睿天下凭借自主研发实力、信创生态兼容性等综合实力&#xff0c;再次入选信…

stm32使用TB6600驱动器控制42BYGH型步进电机

stm32使用TB6600驱动器控制42BYGH型步进电机 stm32使用TB6600驱动器控制42BYGH型步进电机 文章目录stm32使用TB6600驱动器控制42BYGH型步进电机前言一、使用的设备说明介绍24V开关电源TB6600驱动器产品特点技术规格拨码开关设定42BYGH 步进电机接线方法控制步进电机的正反转控…

深度学习与排序模型发展

8.3 深度学习与排序模型发展 学习目标 目标 了解深度学习排序模型的发展应用 无 8.3.1 模型发展 CTR/CVR预估经历了从传统机器学习模型到深度学习模型的过渡。下面先简单介绍下传统机器学习模型&#xff08;GBDT、LR、到深度模型及应用&#xff0c;然后再详细介绍在深度学习…

基于遗传算法的配电网重构研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Android MVVM 开发新姿势 一

Android MVVM 开发新姿势 一 1. 前言 网上有不少关于Android架构的讨论&#xff0c;如MVC&#xff0c; MVP&#xff0c;MVVM&#xff0c;最近还有MVI&#xff0c;emmm…不得不感慨时代变化太快。MVVM出来也有一段很长的时间了&#xff0c;接触时间不长&#xff0c;写一篇文章…

快速入门pandas进行数据挖掘数据分析[多维度排序、数据筛选、分组计算、透视表](一)

1. 快速入门python&#xff0c;python基本语法 Python使用缩进(tab或者空格)来组织代码&#xff0c;而不是像其 他语言比如R、C、Java和Perl那样用大括号。考虑使用for循 环来实现排序算法: for x in list_values:if x < 10:small.append(x)else:bigger.append(x)标量类型 …

uni-app中vant-Weapp组件库的使用

先创建一个基础的uni-app目录从github下载vant包&#xff0c;zip格式的https://github.com/youzan/vant-weapp/releases项目根目录下创建wxcomponents文件夹把我们下好的文件vant-weapp里面只留下dist其余的可以全部删掉&#xff0c;然后把vant-weapp放到 wxcomponents里面App.…

在CentOS-6.9配置apache服务(2)---虚拟目录配置

文章目录一 需求二 系统环境三 基于Alias普通别名3.1 配置个人主页3.2 编写虚拟目录配置文件3.3 测试四 基于ScriptAlias脚本别名4.1 编写主配置文件4.2 创建测试主页4.3 测试一 需求 基于用户个人主页的身份验证&#xff0c;在浏览器输入 10.0.0.100/~a 可以得到用户a的个人网…

Linux:CPU频率调节模式以及降频方法简介

概述 cpufreq的核心功能&#xff0c;是通过调整CPU的电压和频率&#xff0c;来兼顾系统的性能和功耗。在不需要高性能时&#xff0c;降低电压和频率&#xff0c;以降低功耗&#xff1b;在需要高性能时&#xff0c;提高电压和频率&#xff0c;以提高性能。 cpufreq 是一个动态调…

拉伯证券|机构看好中国经济 人民币资产吸引力持续增强

2023年人民币汇率以及A股强势开局。1月以来人民币对美元中心价已累计增值超3%&#xff0c;接连3个月增值。到1月末&#xff0c;北向资金累计净买入额达1311.46亿元&#xff0c;刷新了沪深股通单月净买入新高。 在“真金白银”加仓布局人民币财物的一起&#xff0c;外资组织也纷…

CSS实现9宫格布局的4种方法:flex、float、grid、table布局

一、实现效果及html代码 1、实现效果 2、html代码 <body><div class"container"><div style"background-color: red">1</div><div style"background-color: blue">2</div><div style"background-…

十二、树结构的实际应用—赫夫曼树

1、赫夫曼树 1.1 基本介绍 给定 n 个权值作为 n 个叶子节点&#xff0c;构造一棵二叉树&#xff0c;若该树的带权路径长度&#xff08;wpl&#xff09;达到最小&#xff0c;称这样的二叉树为最优二叉树&#xff0c;也称哈夫曼树&#xff08;Huffman Tree&#xff09;&#xf…

Java工厂模式

定义&#xff1a;将创建对象的权利交给工厂类实现&#xff0c;解耦对象使用者和对象创建过程。 工厂模式有三种&#xff1a; 1、简单工厂模式 2、工厂方法模式 3、抽象工厂模式 使用工厂模式作用&#xff1a; 1、客户类和对象之间的耦合关系转移到了工厂方法和对象之间 …