本文所需软件包下载地址:https://download.csdn.net/download/lixg_cc1/20618945?spm=1001.2014.3001.5503

在使用谷歌浏览器浏览数字报图片时发现原本清晰的图片变模糊,像添加了蒙版的感觉,如下图

图片灰蒙蒙的,从谷歌浏览器换成了Edge、QQ浏览器都是如此,这就很难受。因为是报纸土图片,图片处理小白第一反应就怀疑是CMYK模式惹的祸,原图color space是CMYK模式,经查询,大多数浏览器的color space是sRGB。以下是查到的主流浏览器支持的color space

下面是各个浏览器目前对色彩管理支持程度的简报:

  • ICC V2 读取支持:Chrome,Firefox,Safari,Edge
  • ICC V4 读取支持:Chrome,Firefox,Safari,Edge
  • 转换 Untagged 内容到 sRGB(图片/CSS):Chrome(默认),Firefox(需要自行开启)
  • 转换 Untagged 内容到 Rec. 709(视频):Chrome(默认)
  • 转换 Tagged 内容到相应的色彩空间(图片/CSS):Chrome(支持,默认),Firefox(支持 ICC V2/V4,V2 默认开启,V4 需手动开启)
  • 转换 Tagged 内容到相应的色彩空间(视频):Chrome(支持,默认)

色彩管理能力:Chrome>Firefox(配置)>Firefox(未配置)>Safari>Edge

color space这个信息影响着图像在不同端呈现出来样子,想要在谷歌浏览器浏览报纸图片就要将图片的color space 从CMYK转成sRGB,且尽可能保证图片质量。如果你只有几张图片,工程量不大,那么就在Windows上使用PS直接修改图片模式为RGB,或者直接将推片保存成web模式,PS自动会将图片的color space变成sRGB

但是我需要在centos8环境下持续大批量的处理图片,所以我选择了Graghics Magick,这是一款功能强大图片处理软件,速度蛮快的。但是在使用过程中遇到了很多问题,中文网站上关于它的介绍,大多数还是如何安装,实例很少。

首先在window 10环境下安装Graghics Magick,查询使用手册,决定使用convert来进行图片的color space转换。说明书上关于color space的转换介绍太过简洁,支持转换的color space里并不包括sRGB,所以用RGB试了试

gm convert -colorspace RGB a.jpg b.jpg

转换后的图片在chrome里确实不发灰了,改过亮了,多看一会都辣眼睛。

直接硬转sRGB更惊悚

gm convert -colorspace sRGB a.jpg b.jpg

确实但是GM本身是支持sRGB的。后经查询,color space还需要icc文件支持。

icc的原理是将色彩特性资料预先保存于色彩描述文档,当发生color space转化时,有预先保留的icc文件在,图片原色彩就能在转化后保存住并正常显示。

下载一份sRGB的icc文件(我稍后上传),放到本机上,再-profile调用一下sRGB的icc文件,再转换colorspace,就齐活啦!(好想吐槽,这些图像处理网上的信息小白好难查询)

gm convert -profile D:\sRGB.icm -colorspace sRGB a.jpg b.jpg

至此,windows10上使用Graghics Magick将CMYK图片转换sRGB图片且尽可能保持原图色彩的任务就大功告成了。

事情还没完,此法用到centos系统上就出问题了,报了个错:

gm convert: LCMS encoding not enabled

这个错误我没有找到有用的说明,只能依靠自己猜想,那么一定跟LCMS这个东西有关,win10可以,Linux不行,可能是少东西或少配置,查到头秃后,找到了一小段关于LCMS的介绍

LCMS

Color Space Fixer requires you to have ImageMagick built with LCMS support. LCMS or Little CMS is a color management system library which is required to in order to convert files between different color spaces. LCMS is included by default in most ImageMagick builds.

If LCMS delegate has not been installed, you will get an error message: Color Space Fixer is activated but it’s not doing anything because LCMS delegate for ImageMagick has not been installed.. In this case you might need to build ImageMagick from source using --with-lcms2=yes flag.

我的理解color space需要LCMS,LCMS没安装或者没配置对的话,color space也无法正常使用,ImageMagick这里需要--with-lcms2=yes来配置一下,Graghics Magick从ImageMagick这个软件发展来的,二者相似。那么继续啃Graghics Magick的说明书,多次碰壁后,我找到了这一段

  • GraphicsMagick requires the lcms library (2.0 or later) available from

    http://www.littlecms.com/

    to perform ICC CMS color management.

通过以上网址,下载LCMS2安装包,解压如果编译安装。

下载Graghics Magick源码包,解压编译时加上 --with-lcms2=yes参数,make && make install后,使用/usr/local/bin/gm version查看版本,如下图,此时LCMS显示yes。GM支持lcms。

将sRGB.icc文件拷入,再次进行图片转换,gm convert -profile /root/sRGB.icc -colorspace sRGB a.jpg b.jpg命令,成功转换。

CentOS8环境中使用Graghics Magick将CMYK图片生成适用于chrome、Edge、QQ浏览器浏览的sRGB图片相关推荐

  1. 显示计算机窗口地址栏,电脑QQ浏览器中在地址栏显示最常访问功能怎么开启

    电脑QQ浏览器中在地址栏显示最常访问功能怎么开启 腾讯视频/爱奇艺/优酷/外卖 充值4折起 QQ浏览器是我们现在经常在电脑上使用的浏览器软件之一,为了方便我们的访问我们可以开启浏览器中的在地址栏显示最 ...

  2. Podman 在 Rootless 环境中的基本设置和使用

    用户操作 在允许没有root特权的用户运行Podman之前,管理员必须安装或构建Podman并完成以下配置 cgroup V2Linux内核功能允许用户限制普通用户容器可以使用的资源,如果使用cgro ...

  3. 在centos8环境下用asterisk18配置pjsip和webrtc音视频通话教程(二)

    在上一篇文章,我们介绍了asterisk18在centos8.3环境的编译安装,下面我们继续介绍如何在asterisk18环境中调试成功我们的分机之间通话(包括webrtc). 1) 通过命令 /op ...

  4. ndf怎么导入mysql_MYSQL8在CentOS8环境的安装方法(DNF/YUM)

    MYSQL8在CentOS8环境的安装方法(DNF/YUM) 一.必要的说明和注意事项: 0.全程使用"root"账户,安装数据库. 1.mysql存放数据文件的文件夹,必须是my ...

  5. 全网最全无坑!!! Centos8环境 安装MySQL8 (单机版详细部署及问题汇总)

    Centos8 环境 安装MySQL8 详细部署 文章目录 检查是否已安装(强力卸载) 安装MySQL8.0 查看MySQL是否安装成功 设置MySQL服务为开机自启动项 启动MySQL服务 相关安装 ...

  6. 客快物流大数据项目(二十二):Docker环境中安装软件

    目录 Docker环境中安装软件 一.安装JDK 二.安装Oracle11g 1.安装pdksh 2.安装Oracle依赖

  7. 验证环境中的program为什么必须是automatic

    最近在项目中,发现验证环境中的顶层的program(一般将program作为验证环境的入口),都是automatic的. 其实Program默认是static的,那么为什么需要把验证环境做成autom ...

  8. 在ARC环境中autoreleasepool(runloop)的研究

    引言 最近有个大佬考察了我关于autoreleasepool的了解, 之前一直认为自己了解, 但是稍微一问深, 自己却哑口无言. 仔细思考了下, 决定要将这个问题结合之前的知识从新梳理一下, 当然, ...

  9. Ambari在离线环境中安装Hadoop集群

    2019独角兽企业重金招聘Python工程师标准>>> http://www.hackbase.com/article-973-1.html (WJW)Ambari在离线环境中安装H ...

  10. Spring MVC环境中的文件上传功能实现

    在实际开发过程中,尤其是web项目开发,文件上传和下载的需求的功能非常场景,比如说用户头像.商品图片.邮件附件等等.其实文件上传下载的本质都是通过流的形式进行读写操作,而在开发中不同的框架都会对文件上 ...

最新文章

  1. 计算机硬件拆解,计算机硬件系统及主机拆解.ppt
  2. 江南百景图自动刷水井,附带拼图教程
  3. centos65安装RabbitMQ3.6.5
  4. java面试核心知识点,详解系列文章
  5. win2008r2 AD用户账户的批量导入方法
  6. leetcode - 91. 解码方法
  7. 【VMC实验室】在QCloud上创建您的SQL Cluster(5)
  8. ogg批量配置_Mac批量文件重命名A Better Finder Rename11.07直装
  9. php报表开发韩顺平,韩顺平从Html基础到php实战开发视频教程非常全面的一套PHP开发教程...
  10. 脏数据-数据量纲差异
  11. 微机计算机原理及应用ppt,微型计算机原理及应用PPT课件
  12. python 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址_[LeetCode] 468. 验证IP地址
  13. centos7下学习Redis(一)
  14. conda 转载自 生信技能树
  15. 游戏商店MySQL数据库设计
  16. catkin_make报错: ROS Base path和Source space不一致问题,
  17. JMeter Sampler之BeanShellSampler的使用
  18. 天线巴伦制作和原理_巴伦的原理、设计、制作
  19. mvc获取ajax上传base64文件,Spring MVC+ajax+base64+amazeui框架上传头像带裁剪功能
  20. Cocos2dx 安装运行

热门文章

  1. rs485串口转网口设置
  2. 大数据平台技术架构-图
  3. 微信小程序tabBar边框加|上阴影
  4. 接口测试工具优缺点总结
  5. PDF解密工具—Cisdem PDF Password Remover
  6. XP同步时间服务器地址
  7. 在.cpp文件中调用.c文件中的函数
  8. html实现tab 左右滑动
  9. 面试官:如何实现单行/多行文本溢出的省略样式?
  10. openmodelica