首页| 论坛| 消息

标题:Qt/C++音视频开发62-电子放大/按下选择区域放大显示/任意选取区域放大
作者:liudianwu
日期:2023-12-29 09:04
内容:

## 一、前言
电子放大这个功能思考了很久,也是一直拖到近期才静下心来完整这个小功能,这个功能的前提,主要得益于之前把滤镜打通了,玩出花样来了,只要传入对应的滤镜字符串,就可以实现各种各样的效果,然后查阅滤镜手册过程中,发现有个裁剪crop的滤镜,和要做的电子放大效果完全一样,就是将指定的某个区域放大显示,这不就是电子放大吗?加上之前就解决了如何通过用户鼠标按下的点转换成视频真实的坐标,两者一个结合,这不就是水到渠成的事情?所以很多时候就是这样搞着搞着,问题自然而然就解决了。
大致步骤如下:
- 第一步: 鼠标按下开始记住坐标
- 第二步: 鼠标移动绘制选取区域
- 第三步: 鼠标松开发送裁剪滤镜
其实电子放大除了可以通过滤镜来实现,也可以直接opengl这边处理,无奈自己opengl水平还没入门,根本不知道怎么搞,所以才想着直接源头就滤镜处理好。通过对比各个厂家做的电子放大功能,发现海康的实现更加鸡贼,完全没有用滤镜,也没有用opengl绘制局部数据,而是直接将整个视频放大,放大到当前画面区域几乎就是刚才选取的区域,把整个视频面板放大到合适,然后放在一个拖动或者滚动区域中,相当于看图软件中的很大分辨率的图片,然后再通过手按下还可以一点点的移动视频画面,其实就是一个控件在move,这种方式很取巧,而且还能用手按着拖动进行调整查看画面,也是蛮好的一种思路,唯一要做的就是计算好用户选取的区域和将要放大的尺寸。
## 二、效果图

## 三、体验地址
1. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
2. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
3. 个人作品:[https://blog.csdn.net/feiyangqingyun/article/details/97565652](https://blog.csdn.net/feiyangqingyun/article/details/97565652)
4. 体验地址:[https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g](https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g) 提取码:01jf 文件名:bin_video_demo。
5. 视频主页:[https://space.bilibili.com/687803542](https://space.bilibili.com/687803542)
## 四、功能特点
### 4.1. 基础功能
1. 支持各种音频视频文件格式,比如mp3、wav、mp4、asf、rm、rmvb、mkv等。
2. 支持本地摄像头设备和本地桌面采集,支持 ..

回复 发表
主题 版块