ios - Objective-C 中类似 Photoshop 的曲线工具

标签 ios image-processing curves

<分区>

我想在 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/

上一篇:ios - 动画子类无法正确应用于我的 View 动画

下一篇:iphone - 区分分段控制值变化是来自用户还是来自系统

相关文章:

python - 同一位置周围多次出现边界框

c# - 如何使用曲线平滑地制作跳跃动画?

c++ - 问题覆盖绘制曲线的 c++ 类

ios - 从 subview 重新加载 UICollectionview

ios - Core Text Rotation 无法正确旋转 - Swift

opencv - 针对较暗阴影的线检测

java - 加工中如何拖动曲线

iOS - 检查应用程序中的推送通知支持

ios - Facebook 发送应用程序进行审核,我如何生成免费的隐私政策?

python - 如何使用 Pytorch 中的预训练权重以 4 个 channel 作为输入修改 resnet 50?