IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Opencv 图像处理 视频处理 人脸识别 -> 正文阅读

[人工智能]Opencv 图像处理 视频处理 人脸识别

前言

近期学习了OpenCV的一些函数 然后配合着函数跟QT的一些UI写一个图像跟视频处理跟摄像头处理的一些功能 但是这个主要的一个框架是学习一个视频的 当时主要讲的是一个OpenCV的视频处理的 UI是仿照一位作者的 然后因为记录确实有点远 找不到了 先声明一下

一、作品展示

图片处理

请添加图片描述
请添加图片描述

视频处理

请添加图片描述
请添加图片描述

摄像头处理

请添加图片描述
请添加图片描述

二、运行的逻辑

先是线程不断循环通过UI传入的图片 视频 进行读取保存 通过我们的PV_Filter将一帧的图片进行一个处理 处理结束之后返回的一帧交还给UI进行显示

在这里插入图片描述
然后要引入OpenCV的库 这个…网上有方法 以前引入的 好像是你只要会图片处理的一些算法 应该也是可以做到不用OpenCV的库也可以处理…不太清楚

三、PV_Filter

在这里插入图片描述

首先是PVFilter
PVFilter其实就是将QList的所有添加的模式做一个处理
在这里插入图片描述
Add就是简单的一个PushBack
在这里插入图片描述

四、PVActionPro 具体函数的处理

人脸识别

在这里插入图片描述

X镜像 Y镜像

在这里插入图片描述

旋转

在这里插入图片描述

灰度图

在这里插入图片描述

膨胀

在这里插入图片描述

腐蚀

在这里插入图片描述

均值滤波

在这里插入图片描述
因为设置成0的时候Bug过 所以就设置了一个限制

边缘检测

在这里插入图片描述
copy一份是因为好像内部输入跟输出的Mat不能相等

亮度与对比度

在这里插入图片描述
value是对比度 value1是亮度 (大概 不然就反过来-。-)

增加RGB值的通道

在这里插入图片描述

二值化

在这里插入图片描述

五、OpenCV_PV_Thread线程

1.一些声明

在这里插入图片描述
在这里插入图片描述

1.首先是图片的处理

打开图片
在这里插入图片描述
run内部的关于图片的处理
在这里插入图片描述

2.然后是视频的一些处理

打开视频 获取FPS是为了在run中Sleep
SwitchPlayIcon是为了切换播放的图标显示
在这里插入图片描述
视频录制
因为视频录制需要VideoWriter先调用open
open需要获取的几个值
路径 fourcc Fps 长宽 以及是否是彩图或灰度图
在这里插入图片描述
停止录制
在这里插入图片描述
run内部循环的一些视频处理
这边的逻辑是 如果暂停那就停止读取下一帧Mat
如果是Read不到下一帧 那可能是视频播放完毕 处于录制状态要停止录制
如果处于保存一帧图片的情况就用imwrite处理就好
如果是处于录制状态 则需要知道他的开始位置跟结束位置(ui有一个开始跟停止的Slider)
如果存在开始就调到开始 跟计算结束的位置停止录制就好
在这里插入图片描述

3.摄像头的处理

一样是调用Open函数 填数字代表的是你计算机内部的设备(没记错的话)
在这里插入图片描述
因为摄影保存的方式个视频保存的方式一样 只是没有一个StartPos 跟 EndPos
所以这边就不贴了 跟上面差不多哦

run里面的一些摄像头处理
在这里插入图片描述

六、最后总结

因为虽然借助线程 但是我写的会在一些函数耗费不少的时间 就会导致看起来很卡顿 如果大家有什么帮助的话请私信我 或是评论 先谢谢大家
Have a good Time,最后补一句 SS 永远的神。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 20:48:53  更:2021-08-02 20:49:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 22:24:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码