文章目录
- OpenCV初探
- 配置环境
- pyhton简单操作
- 利用PIL库实现一些图像处理
- C++简单操作
- 读取滑动条时老是抛出异常&解决
- 一些变换
- 高斯平滑(模糊)
- 使用高斯模糊对图像实现基2的降采样
- Canny边缘检测器
- 结合图像金字塔&Canny边缘检测器
- 从摄像头中读取
- 写入AVL文件
pycharm配置非常简单,就在此略过了。
主要是c++的找了好久的方法。
我配置的是VS2017+OpenCV,然后推荐大家看这个,我是通过这篇博客解决了配置的问题。
当时更改了库目录以及包目录和环境变量以及依赖项所有能更改的。但是还是提醒找不到这个文件。
后来看了博客推测问题可能出在:VS2017应该设置的环境变量是vc15下的,但是当时看其他博客配置的是vc14的。
但是这个配置完了记得改debug X86为X64。
over!

这个是将视频转换为灰度的视频。
但是总感觉转换.mp4文件为灰度播放,失败了。
然后是貌似只把人像变成了蓝色,好怪喔)
利用PIL库实现一些图像处理





果然、虽然它麻烦,可我还是更愿意写这个。
以下是简单的打开图片以及视频。

以上打开视频,在显示视频的时候不可以快速跳转。于是:
- 加一个滑动条,使得用户可以进行视频跳转。
- 允许用户按下S键-暂停(单步),R键-恢复。
- 无论何时用户滑动条跳转到视频的一个新的时间点,都使用但不模式在该点播放。
读取滑动条时老是抛出异常&解决
先放一下代码,就是照书写的。
然后找到是因为g_run的那一条语句写错,导致不能使用 s & r 来暂停以及恢复。

但是如果是正常的滑动条读完或者按Esc键退出是不会出现的)
一些变换
高斯平滑(模糊)
高斯模糊是?关于高斯模糊的详细解释
高斯模糊,也叫高斯平滑,英文为:Gaussian Blur,是图像处理中常用的一种技术,主要用来降低图像的噪声和减少图像的细节。高斯模糊在许多图像处理软件中也得到了广泛的应用。
话说在画画中我会经常用到呢)
高斯平滑只适合特定的照片,有时会破坏一些图片的特性。


使用高斯模糊对图像实现基2的降采样
(个人理解一下这句话,就是模糊+缩小)
在OpenCV中高斯模糊+降采样通过函数实现。
:创建一个新的图像,其宽高均为原始图像的一半。

(或许你不太能看出来有高斯模糊,但是我个人是感觉这项图片变小,但是是好的方面变小)
于是我又放了张图,这个就比较明显,确实是高斯模糊+降采样了。

Canny边缘检测器
Canny边缘检测器:

:边缘检测器通过该函数生成一个和原图一样大小,但是只有一个通道的图像。从而将RGB图像转换为灰度图。
或者是在imread的时候输入,直接读取灰度图。
这个操作在OpenCV中被定义为宏:。(在python中使用过,但是貌似感觉失败了)

也可以直接这样得到灰度图,然后再进行边缘检测。
可以看到结果基本上是一样的。

虽然目前Canny算子是理论上最完善的,但是我们也可以看见该图上丢失了一些细节。
结合图像金字塔&Canny边缘检测器
简单应用:收缩两次图像,然后寻找两次收缩过程中的图像的边缘。

读写其像素值

从摄像头中读取
为实现和某种摄像头中读取的实时数据流进行交互,OpenCV中的HighGUI模块提供了一个简单的方法。
对于:
- 从硬盘读取文件:需要指示读取文件名的路径
- 从摄像头读取视频:需要有一个相机的ID(一般PC只有一个摄像头连接,这个ID通常=0)
若ID=-1,此时表示:任意选择一个。

(我敲,写错字了,请忽略)
写入AVL文件
我们可以创建一个写入对象以便将帧依次输入到一个视频文件中。
:在将每一帧图像输入到对象中后调用。

注意:输入输出必须是.avi 格式文件
不然就会xiu的一下出现屏幕,然后又xiu的一下不见,还不会报错orz。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/138375.html