关于色相Hue调整的问题 | hue計算
问题说明http://bbs.chinaffmpeg.com/a.html遇到一个用canvas对图片进行hue-rotate90和用ffmpegfiter处理hue颜色对不上的问题。中间看到很多东西,分析过程简单记录一下。原始视频第一帧:[1]origin-video.pngjscanvasctx.filter=hue-rotate(90deg)canvas.pngffmpeg:ffmpeg-y-ihttp://bbs.chinaffmpeg.com/b.mp4-filter_complex"hue=h=90"-vframes1ffmpeg.jpgffmpeg.jpg分析过程和中间遇到的问题初步怀疑是canvas使用HSL,ffmpeg使用HSV,简单的colorspace差异导致的问题,对比了一下HSV和HSL的颜色表,研究了一下觉得两个都不是直接...
问题说明http://bbs.chinaffmpeg.com/a.html遇到一个用canvas对图片进行hue-rotate 90和用ffmpeg fiter处理hue颜色对不上的问题。中间看到很多东西,分析过程简单记录一下。原始视频第一帧:[1]
origin-video.png
js canvas ctx.filter = hue-rotate(90deg)canvas.png
ffmpeg: ffmpeg -y -i http://bbs.chinaffmpeg.com/b.mp4 -filter_complex "hue=h=90" -vframes 1 ffmpeg.jpgffmpeg.jpg
分析过程和中间遇到的问题初步怀疑是canvas使用HSL,ffmpeg使用HSV,简单的colorspace差异导致的问题,对比了一下HSV和HSL的颜色表,研究了一下觉得两个都不是直接简单的使用了HSL或HSV色彩空间,而是HCL。
HSL and HSV wiki中说明了HSL和HSV的区别,hue都是指色相,相对于RGB2HSL和RGB2HSV有相同的转换公示,s是饱和度,L和V是定义上和含义上区别的,之前在color space的学习中说过这个问题。两个颜色空间的S和LV由RGB计算的表达公式不一样。photoshop的拾色器使用HSV,查看花的色相Hue大概在320-350之间。至于为什么ps picker选择HSB空间,大致是因为HSB的表达能力更强、更符合人对于拾色器的习惯,请看知乎的一个讨论。对照wiki,正向旋转90度可以看出来大概的色彩。[3][4]
394px-HSL_color_solid_cylinder_alpha_lowgamma.png
394px-HSV_color_solid_cylinder_alpha_lowgamma.png
photoshop-color-wheel.png
600px-HSV-RGB-comparison.svg.png
HSL&HSV&RGB...