我制作了一个工具,人们可以上传照片并对其进行修改(包括去饱和),从而生成灰度图像.

我使用PHP的GD库生成最终图像.

当打印这些图像时,颜色显示错误,因此使用Image Magick我添加了颜色配置文件.

除已灰度处理的图像外,这非常有用.添加了颜色配置文件,但是当我在Photoshop中打开图像时,它显示“无法使用嵌入式ICC配置文件,因为ICC配置文件无效.忽略该配置文件”.

在Photoshop中,图像设置为灰度而不是RGB,因此附加的RGB配置文件是错误的.我需要它是RGB.

我正在使用以下代码来添加所有可能的信息,以使图像变为RGB:

$i = new Imagick();

$i->readimage('image.jpg');

$i->setimagetype(Imagick::IMGTYPE_TRUECOLOR);

$i->setimagecolorspace(Imagick::COLORSPACE_RGB);

$i->profileimage('icc', file_get_contents('AdobeRGB1998.icc'));

$i->writeimage($d);

$i->destroy();

?>

有谁知道如何成功将图像设置为RGB并附加配置文件?

我确实尝试过’setImageProfile’和’profileImage’的不同方法和组合,也适用于色彩空间和图像类型,但是结果始终相同.

解决方法:

@ a34z在评论中说:

“Somehow I must let PS know it is an RGB image with only grey pixels in it or something like that.”

假设RGB图像甚至可能包含“灰色”像素是一个根本的错误!

RGB图像确实具有始终由三种颜色混合而成的像素:R ed green re.这是3个可用频道,仅此而已. RGB中没有灰色通道.

使得RGB图像在我们眼中看起来是灰色的是,这3个数字通道值中的每一个均等于或小于严格来讲,至少“足够相似”.当然,还有软件可以分析3个通道的颜色值,并告诉您哪些像素为“灰色”. ImageMagick的直方图输出会愉快地告诉您要说的是哪种灰度,并为这些Gray使用不同的名称.但是不要被该颜色名称所迷惑:像素仍将由强度相同(或非常相似)的3种颜色组成,ImageMagick还将报告这些值.

如果确实需要纯灰度图像(仅使用一个通道获得灰度,而不是三个通道),则必须将其转换为这种图像类型.

这两个图像可能看起来仍然相同(如果转换正确完成,并且显示器已校准,并且不是红绿盲),但是它们的内部文件结构不同.

RGB图像需要处理RGB(如果有)的ICC配置文件,例如sRGB.对于灰度,您不能使用sRGB,可能需要在其中使用DeviceGray或其他功能.

标签:imagemagick,color-profile,php

来源: https://codeday.me/bug/20191101/1981582.html

php 色彩空间转换,PHP Imagemagick将灰度转换为RGB相关推荐

  1. imagemagick使用_使用ImageMagick将图像转换为灰度

    imagemagick使用 A few years ago I bought a DSLR camera with a bunch of filter effects built in and it' ...

  2. python数字图像处理、色彩空间类型转换_Python+OpenCV图像处理—— 色彩空间转换...

    一.色彩空间的转换 代码如下: #色彩空间转换 import cv2 as cv def color_space_demo(img): gray = cv.cvtColor(img, cv.COLOR ...

  3. OpenCV实战(7)——OpenCV色彩空间转换

    OpenCV实战(7)--OpenCV色彩空间转换 0. 前言 1. RGB 色彩空间 2. 色彩空间转换 2.1 CIE L*a*b* 色彩空间 2.2 其它色彩空间 3. 用色调.饱和度和亮度表示 ...

  4. OpenCV入门——色彩空间转换(2)

    OpenCV中提供cvtColor()函数来进行色彩空间的转换.色彩空间种类较多,经常用到的有:RGB空间,HSI空间,Gray灰度空间,带alpha通道的RGB等等.需要注意的是OpenCV中所处理 ...

  5. 【计算机视觉处理4】色彩空间转换

    [计算机视觉处理4]色彩空间转换 1.图层操作 在第2篇中提到过,如果是二值图片(黑白图)或者灰度图片,一个像素需要一个8位二进制来表示.而对于彩色图像,一个像素则需要用3个8位二进制来表示.我们认为 ...

  6. opencv学习四:色彩空间转换

    一.常见的色彩空间 RGB颜色空间 RGB(red,green,blue)颜色空间最常用的用途就是显示器系统,彩色阴极射线管,彩色光栅图形的显示器 都使用R.G.B数值来驱动R.G.B 电子枪发射电子 ...

  7. OpenCv 009---色彩空间与色彩空间转换

    1 前备知识 各颜色对应的范围 2 所用到的主要OpenCv API /** @brief Converts an image from one color space to another. @pa ...

  8. 图片的色彩空间转换、简单色彩跟踪与通道分离、合并(三)

    一 图片的色彩空间转换 灰度色彩空间 单通道,取值范围[0,255] 0黑255白 RGB色彩空间(opencv中习惯用BGR) opencv中R,G,B三通道取值范围均为[0,255]. HSV/H ...

  9. OpenCV快速入门五:色彩空间转换

    一:相关api 1:imread imread(filename, cv.IMREAD_GRAYSCALE) 具体cv.imread及其使用方法和读取有中文路径的图片参考博客OpenCV学习一:图片读 ...

最新文章

  1. 【python图像处理】图像的增强(ImageEnhance类详解)
  2. [转] getBoundingClientRect判断元素是否可见
  3. 输出日志实例改成用Spring的AOP来实现
  4. 导出jar插件_Fluttify输出的Flutter插件工程详解
  5. Linux的实际操作:用户管理(用户添加useradd -d和设置用户密码passwd)
  6. python 内置模块-re
  7. 超详细的jQuery的 DOM操作,一篇就足够!
  8. 后端基础概念:各种OCV一网打尽(下篇)
  9. JavaBean 与 EJB 的区别
  10. 超市商品摆放图片_商品摆放舍不得拿、干净又卫生的马来西亚版大润发——NSK超市...
  11. c语言字符括号怎么表示什么意思,请问C语言中的bioskey(0)是啥意思,括号里的值又有啥用?...
  12. WIN7专业版下安装MS SQL SERVER 2005 开发版
  13. 【论文泛读171】具有对抗性扰动的自监督对比学习,用于鲁棒的预训练语言模型
  14. 我靠海外抖音搬运视频赚到了人生第一桶金:这个风口行业,真的很赚钱
  15. 办公技巧——PPT添加页码
  16. 无响应 --- 问题事件名称: AppHangB1
  17. 电脑开机为什么会出现黑屏
  18. alm系统的使用流程_ALM——应用程序全生命周期管理核心功能有哪些
  19. 知虾数据:店铺精细化运营提高商品曝光率,远超出竞品效果
  20. Office-001 Word中如何插入章节Chapter?

热门文章

  1. 山一程,水一程,身向榆关那畔行,夜深千帐灯。
  2. 移动硬盘文件丢失如何找回丨500G硬盘
  3. linux java -cp lt; .txt_补交 20155202 蓝墨云班课 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能...
  4. VMware15Pro进入MacOS10.14恢复模式(Recovery)
  5. 编程珠玑--粗略估算
  6. 冒泡排序与快速排序比较
  7. 微信小程序订阅信息之Java实现详解
  8. 声纹识别开源框架python_GitHub - yeyupiaoling/VoiceprintRecognition-Tensorflow: 使用Tensorflow实现声纹识别,博客地址:...
  9. javascript 实现中文按照拼音首字母排序
  10. es远程主机强迫关闭了一个现有的连接