
图像处理
文章平均质量分 93
亚古兽要进化
我很喜欢亚古兽
展开
-
NL-meals、BM3D
常用的高斯滤波或者均值滤波相对都比较简单,即每个窗口的滤波核都是一样的。稍微复杂一些保边滤波如,双边滤波和导向图滤波等。这里介绍几种ffmpeg里面包含的相对比较复杂的滤波算法。计算量不可谓不小。可以通过ffmpeg查看源码实现过程,这里部分使用MATLAB,主要是为了代码的易读性和简易。原创 2023-02-02 01:00:00 · 795 阅读 · 0 评论 -
颜色空间和色域映射
一般的设备通常是用RGB的方式来表示颜色,但是随着新的标准和设备的不断更新,出现了在不同色域下的RGB表示方式。比较常见的是bt2020,bt709和bt601等。出现这些原因主要是随着硬件设备的更迭,显示器可以表达了更广的色域。随之而来就带来了一些所谓的看到同一颜色统一的问题,例如在bt2020下的红色RGB=(1,0,0)和bt709下的RGB=(1,0,0)是不一样的红。在BT709的显示器上是无法正常显示符合bt2020的HDR视频,亮度达不到,色彩也达不到。因此就涉及到了色调映射技术...原创 2021-11-21 20:59:35 · 10810 阅读 · 0 评论 -
杜比视界HDR参数
之前已经介绍了基于HDR10和HLG的HDR视频的相关参数,但是由于本身这类视频在市场上属于少数,或者由于设备的不支持都没有正确的观看,更不要提杜比视界这种更高端的玩家了。不过随着iPhone12的推出,由于其支持HLG格式的杜比视界HDR视频拍摄,杜比视界的片源大大增加。这就有点蒙圈了,不是说杜比视界是在PQ转换曲线的基础上使用动态元数据么,HLG是没有元数据的HDR。接下来主要是围绕这些疑问来一步步了解杜比视界(DOLBY VISION, DV)的技术标准。单、双层杜比视界 ...原创 2021-08-20 21:03:49 · 12854 阅读 · 1 评论 -
直方图均衡化系列
直方图均衡化,HE:Mat eaualizeHist_GO(Mat src){ int width = src.cols; int height= src.rows; Mat HT_GO = src.clone(); int tmp[256] ={0}; float C[256] = {0.0}; int total = width*height; for (int i=0 ;i<src.rows;i++){ for (原创 2021-06-24 09:17:31 · 565 阅读 · 1 评论 -
卷积层和归一化层融合以及ONNX的使用
之前就已经提到过,在神经网络种涉及到归一化的操作中就要特别小心。一方面是训练和推理阶段要有明确的标识来进行区分。否则,就会导致训练和推理的结果相差很大。另一方面就是归一化的方法很多,大致可分为:...原创 2021-06-11 18:01:18 · 5701 阅读 · 0 评论 -
HDR中HLG与PQ曲线的互转
HDR视频中由于电光转换曲线的不同,技术标准也大致分为了杜比视界、HDR10+、HDR10、HLG等,目前常用的主要是以PQ曲线的HDR10和HLG。这两者之间的区别在HDR视频编码参数中进行过详细的说明。一般的HLG适用于广电(根据用户设备的峰值亮度动态的调整最高显示亮度),PQ适用于数码电脑等(绝对的亮度,如果设备达不到,则进行削峰)。他们之间根据不同的用户选择不同的技术标准。如果知道其中一个技术标准的HDR视频,其实是可以转换为另外一个的。基本概念色彩值(color value)...原创 2020-11-24 20:09:07 · 25122 阅读 · 1 评论 -
双边滤波和双边网格
双边滤波双边滤波器也是一种保边滤波器.和导向图滤波器一样,可以达到在平坦区域进行均值(高斯)滤波的效果,在边缘不进行滤波的效果.其原理为一个与空间距离相关的高斯函数与一个灰度距离相关的高斯函数相乘.其中空间距离指的是当前点与中心点的欧式距离。空间域高斯函数其数学形式为:(xi,yi)为当前点位置,(xc,yc)为中心点的位置,sigma为空间域标准差.灰度距离指的是当前点灰度(像素点值)与中心点灰度的差的绝对值。值域高斯函数其数学形式为其中gray(xi,yi)为当前点灰度值,.原创 2020-11-04 15:13:09 · 6083 阅读 · 4 评论 -
HDR图片以及色调映射(ToneMapping)
高动态范围(High-Dynamic Range,简称HDR),相应的,LDR(Low-Dynamic Range),也就是我们常见的8bit存储方式的图片.之前都是在介绍视频方面.但是在高动态图片(HDRI)方面也有一些少量应用, 目前常用的存储格式有三种:OpenEXR、RadianceRGBE、FloatTIFF.OpenEXROpenEXR是由工业光魔(Industrial Light & Magic)开发的一种HDR标准。OpenEXR文件的扩展名为.exr,常...原创 2020-09-11 21:06:11 · 19012 阅读 · 0 评论 -
自定义tensorflow的tf.image.resize_bicubic方法
个人感觉tensorflow的resize_image方法有个大坑,这里只是以双三次插值为例对图片进行缩放为例,对比opencv以及PIL算法的不同。之所以说tensorflow的插值算法有些坑,是因为他的resize算法,无论怎么配置,都无法和openc以及pil库提供的插值算法进行对齐,常用的视频编解码工具ffmpeg自带的双三次插值接近PIL效果。另外,三者的结果都不相同,opencv个人感觉最好,图像显得锐化一些;tensorflow也是有锐化效果,但是部分细节丢失严重,更加接近于最近邻...原创 2020-06-07 17:07:06 · 2396 阅读 · 0 评论 -
资源整合ing
一些数据集的整理或者技术博客专栏等链接整合:关于人脸的数据集和GAN算法。1. 涉及到的数据集主要是人脸数据集,但是并没有相应的标注,即不适合人脸检测。2. GAN相关论文的翻译以及github工程链接等3. 相对应的大神在优快云上的博客地址:https://blog.youkuaiyun.com/a312863063http://www.gwylab.com/index.htmlhttp://www.seeprettyface.com/...原创 2020-05-19 11:15:35 · 383 阅读 · 0 评论 -
HDR视频的编码参数
对于hdr视频的一个ffmpeg编解码命令或者参数在该篇中进行过记录,这里来详细解释一下其中参数的意义。解码 因为以mp4等封装格式的视频里面已经包含了相关编解码信息,所以不需要什么复杂参数即可解码成yuv格式的视频。ffmpeg -i input.mp4 -y output.yuv解码后变成了yuv这种纯数据格式,如果涉及到hdr视频的话,相应的元数据metadata...原创 2020-04-08 20:51:39 · 22768 阅读 · 7 评论 -
无参考图像质量评估方法:BRISQUE、RankIQA、DIQA详解
常用的图像质量评估(IQA)分为无参考和有参考两种类型。常见的有参考图像质量评估方法有PSNR,SSIM以及VMAF。其中vmaf是针对视频来讲的,在它的评价方法里面添加了一些时域信息,如果应用于单张图片,需要做一些处理,如去除时域信息。有参考意味着图像质量是以参考图为基准。基于参考图像都是高清图像的假设,这些评价方法已经广泛应用于图像压缩以及图像传输、拼接之类的处理后图像的质量,假如这...原创 2019-12-01 16:46:09 · 27151 阅读 · 8 评论 -
图像锐化和边缘检测算子分析与实现
在总结边缘检测算子之前,先记录一个Python函数库的用法Pillow--ImageFilter,该函数集合了常用滤波函数,例如高斯滤波,中值滤波等。它内部帮你处理了由于滤波或者其他操作造成的数值越界等问题,比如说,Pillow的Image类打开的图片都是uint8 类型的,在做完滤波后,有些值超过255,就变成个数,有些值小于0,就会突变成二百多。可以采用cv2.convertScal...原创 2019-10-07 15:38:00 · 2087 阅读 · 0 评论 -
siamese(孪生) 网络以及迁移学习的应用
孪生,顾名思义,就是长相一样的双胞胎。对于深度学习模型来说就是一种相似性度量网络。表面上画出的网络分为两路,而这两路网络一模一样。因此,同一个输入数据分别输入到两个网络,最后的输出也一样。那么相似的输入,输出也应当很相识。基于这种特性,孪生网络特别适合带有准确标签的样本在整个样本中的比率很小,但整个的数据集的体量又很大的情况。特别是对于现在的深度学习,都是数据驱动型的。如果每个类别的样本太...原创 2019-09-26 21:05:27 · 5237 阅读 · 10 评论 -
FFmpeg:常用命令小笔记
FFmpeg的详细介绍可以查看官网wiki提供的一些信息,这里只是列举具体几种常用的命令一:格式转换#普通封装格式的转换ffmpeg -i input_video.avi output_video.mp4# yuv之间不同格式互转,如果出现花屏现象,注意查看尺寸是否设置正确。ffmpeg -s 1280*720 -pix_fmt yuv444p -i input.yuv -pix_...............原创 2019-12-18 11:12:28 · 11066 阅读 · 1 评论 -
iOS(swift):CVPixelBuffer图像格式转换成CMSampleBuffer
手机上可以通过imageView作为图像的载体对一副图像进行显示。另一方面,在iOS端图像处理中,可以通过GPU对图像进行处理和渲染,并且通过metal框架,可以将处理后的图像直接显示在MTKView上。但是如果不做复杂的处理或者更加有利于将处理后的图像与MTKView更好的解耦,如何将图像进行显示了呢?一方面我们可以将CVpixelbuffer的图像数据个是转换成UIImage,另一...原创 2019-04-23 20:25:07 · 7141 阅读 · 0 评论 -
导向图滤波与积分图算法
导向图滤波中需要用到一个滤波窗口W大小内图像的方差和均值的大量计算,而积分图可以快速的对图像内任何矩形所覆盖的像素值的和进行计算,从而使计算时间达到常数级别。积分图 对于积分图的概念,该篇文章解释的相当不错,我在这里只是做了一些总结和添加一些没有提到的东西。在积分图像上任意位置(x, y)处的ii(x, y)表示该点左上角所有像素之和,表示如下:从给定图像I从上到下、...原创 2019-01-27 18:55:09 · 1373 阅读 · 1 评论