简单的封装,实现了读取两个接口,使用队列的方式使其独立。为保证线程安全加了锁。有一点不满意的地方,还不是完全的资源自己控制,在外部取用之后,因为我把资源所有权,转交给你,所以我不能自己控制它的释放,在使用时,请取出之后,自己注意释放
2025-08-19 22:20:36 6KB
1
根据420sp(NV12/NV21)图像数据存储方式,拷贝裁剪区域的数据进行裁剪
2025-08-14 15:59:01 1KB 图像处理 图像裁剪 YUV420sp
1
在图像处理领域,色彩空间转换和图像增强是两个重要的环节。本主题主要关注的是YUV色彩空间中的NV12格式与YUV420、YUV422之间的转换,以及相关的图像处理算法,如锐化和自动对比度调整。 让我们了解YUV色彩空间。YUV是一种广泛用于视频编码和图像处理的颜色模型,它将颜色分解为亮度(Y)和两个色差分量(U和V),以节省带宽。YUV420和YUV422是两种常见的子采样模式。 1. **YUV420**:这种格式在每个像素位置存储一个Y分量,然后每4个像素共享一个U和一个V分量,这意味着色度信息的分辨率是亮度的一半。具体来说,对于4:2:0的采样,Y分量有4个像素,而U和V各只有1个像素。 2. **YUV422**:与YUV420相比,YUV422在每个像素行中存储了两个色度分量,而不是每行共享一个。这意味着色度信息的分辨率是亮度的一半宽度,但全高度。YUV422有两种类型,即YUV422i(交错式)和YUV422p(逐行式)。 3. **NV12**:这是YUV420的一个变种,常用于硬件加速的视频解码和编码。在NV12中,Y平面数据连续存储,接着是UV半采样的交错平面。U和V分量在同一平面,每两个像素共用一个色度值。 转换这些格式通常涉及到数据重新布局和可能的插值操作。例如,从NV12转到YUV422,需要将UV平面的半采样数据扩展到全分辨率,这通常通过双线性插值完成。 接下来,我们讨论图像处理算法: 1. **锐化**:锐化是一种提高图像边缘对比度的算法,可以增强细节。常用的方法有高通滤波器,如拉普拉斯滤波器或Sobel滤波器,它们可以检测图像的边缘并增强这些区域。 2. **自动对比度调整**:这是一种动态增强图像对比度的技术,通常涉及查找图像的全局最小和最大灰度值,然后缩放所有像素值以扩大动态范围。一种常用的自动对比度调整算法是直方图均衡化,它可以改变图像的灰度分布,使图像整体更明亮且对比度更强。 在实际应用中,这些算法常被集成到图像处理库或API中,如压缩包中的"XPaiAPI"可能就包含了这些功能。开发人员可以通过调用相应的函数或方法,对输入的YUV数据进行处理,实现格式转换和图像增强,从而优化显示效果或适应不同的设备和应用场景。 YUV色彩空间的转换和图像处理算法是数字图像处理中的基础部分,对于视频编码、实时流媒体、图像编辑等场景都至关重要。理解这些概念和操作方法,对于提升图像质量和优化处理效率有着直接的影响。
2025-06-21 15:15:13 4.44MB NV12 YUV420 YUV422
1
本项目旨在通过RTSP协议获取摄像头预览流,并在RK3568开发板上进行人脸识别与姿态识别等处理。由于RTSP协议通常使用H.264/H.265压缩格式,解码后的视频数据需要转换为适合处理的格式(如NV21)。为了满足实时性需求,我们选择FFmpeg作为解码工具,但遇到了解码性能不足、卡顿、掉帧等问题。经过分析,发现Java层解码效率较低,转码过程中产生较大的延迟,影响了预览流畅度。因此,项目中优化了FFmpeg解码过程,采用多线程处理,分离拉流、解码和渲染,使用时间戳控制帧的显示顺序,并增加了队列管理以清理过期帧,确保解码连续性和渲染流畅度。此外,还解决了在不同分辨率下性能瓶颈,提升了在高分辨率下的帧率表现。最终,目标是实现低延迟、高效的视频流处理,满足实时人脸识别与姿态检测需求。
2025-06-06 10:52:07 161.8MB android rtsp h264 nv21
1
nv12转rgb转bmp格式,亲测可用附源码
2022-11-19 12:03:03 6KB nv12 bmp rgb 图片格式转换函数
1
基于libyuv库的NV12格式图片的缩放
2022-11-10 15:41:43 267KB libyuv库 NV12缩放
1
rgb转换为nv12格式,并保存为raw。 nv12转换为rgb格式,并保存为bmp。
2022-06-30 14:06:51 1KB matlab nv12
本示例提供了NV16帧转为NV12格式方法,是个完整工程,make后可直接运行,提供了输入所需的nv16图像。
2022-05-07 11:19:28 6.95MB NV16 NV12 yuv420sp yuv422sp
1
今天小编就为大家分享一篇Python 读取 YUV(NV12) 视频文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
2022-03-22 21:45:06 97KB Python YUV NV12 视频文件
1
使用C++对NV12序列进行转换,快速转换成YUV420和YUV444,不依赖第三方库。 内附实例,可以直接运行。
2022-03-19 14:21:10 2.52MB NV12 YUV420 YUV444
1