<分区>
<分区>
我想在 photoshop 中调整像曲线工具这样的图像。它改变每个 R、G、B channel 或所有 RGB 中的图像颜色、对比度等。 有什么想法可以在 objective-c 中完成这项任务吗?
我找到了这个链接 http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=68577&lngWId=-1但它只能使用VB调整所有图像的曲线,不支持像photoshop的每个颜色 channel
最佳答案
曲线在 Photoshop 中的工作方式使用直方图方法。本质上,通过计算整个图像中每个值的数量(可以分配的值位于直方图的 X 轴上)来获取直方图。可以执行此操作以获得每个颜色 channel 的直方图。
在此处查看图像直方图 http://en.wikipedia.org/wiki/Image_histogram
有了直方图后,可以应用曲线(如果您愿意,可以应用到每个颜色 channel )。标准曲线是一对一或线性曲线。这意味着当实际像素值为 10 时,分配给编辑图像的值为 10。
人们可以想象任何曲线甚至随机分布。虽然有许多方法,但标准方法是基于对数的直方图方法。这实际上是查看图像直方图,并将最大的变换曲线斜率应用于具有最高输入像素数的直方图区域,从而为最多的像素提供良好的对比度。
就曲线而言,您放置在直方图顶部的曲线只是定义了输入像素值到编辑像素值的映射函数。您可以在不制作直方图的情况下应用曲线,但直方图对您的用户来说是一个很好的引用,以便他们知道他们想要在何处编辑曲线以获得最佳效果。
关于ios - Objective-C 中类似 Photoshop 的曲线工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079607/