【发布时间】:2019-02-03 20:11:07
【问题描述】:
我在我的 Web 应用程序中使用 ImageMagick 进行一些图像处理(在 Ubuntu OS 中使用 Java 作为后端),以从图像中识别 CMYK 颜色。
原图:
整个图像的程序如下:
首先,我将四张 CMYK 灰度图像分开:
convert IMG_1732.jpg -colorspace CMYK -negate -separate IMG_1732-sep.jpg
四张图片的结果如下:
图片 1:
图 2:
图 3:
图 4:
然后我执行以下命令将每个从灰度图像转换为 C、M、Y、K 彩色图像:
convert IMG_1732-sep-0.jpg -channel C -combine IMG_1732-sep-00.jpg
结果 1:
convert IMG_1732-sep-1.jpg -channel M -combine IMG_1732-sep-11.jpg
结果 2:
convert IMG_1732-sep-2.jpg -channel Y -combine IMG_1732-sep-22.jpg
结果 3:
convert IMG_1732-sep-3.jpg -channel K -combine IMG_1732-sep-33.jpg
结果 4:
问题是,它花费了太多时间,图像大小大约超过 2-3 MB。此外,还会消耗更多的 RAM 和 CPU。
- 如何优化它? ImageMagick 中是否还有其他选项或 还有其他方法吗?
- 我如何知道原始图像中可用的青色百分比?与洋红色、黄色和黑色相同?有可能吗?
【问题讨论】:
-
我知道第一个命令将图像转换为 CMYK,反转通道并将它们分成 4 个单独的 JPG 文件。我不知道接下来的 4 个命令要做什么?您说您想“在每个中找到 CMYK”,但这是什么意思?包含 C 的单独文件中不会有 MY 或 K。您的问题的答案是什么 - 您期望某物的图像吗?四个不同的图像?一些图像的手段?我很不清楚!
标签: java linux ubuntu image-processing imagemagick