【问题标题】:how to level image color histogram using python like on photoshop [closed]如何在 Photoshop 上使用 python 来调整图像颜色直方图 [关闭]
【发布时间】:2018-10-07 12:30:25
【问题描述】:

我需要使用 python 来实现与使用 Photoshop 从菜单中所做的相同:“图像 > 调整 > 色阶...”

在这个窗口中:

我需要使用 Python 将颜色调平到第一个值 13。

这可以使用一些库 image-scikit、opencv、numpy 或其他东西来完成吗?

我见过几个自动平衡和自动对比度等,但我需要在几个图像上修改这个值。

谢谢。

【问题讨论】:

  • 什么???搁置是因为“太宽泛”?我特别问如何只进行一个图像处理以及如何在 python 上实现它......为什么你认为这“太宽泛”了?!

标签: python image opencv image-processing image-manipulation


【解决方案1】:

如果我理解正确,那么您是在获取 RBG 值并将所有低于最小阈值的值设置为等于最小阈值吗?如果是这种情况,那么我们可以使用 opencv 将图像加载为 numpy 数组,并使用数组操作来实现相同的结果。

import cv2
import numpy as np

min_level = 20

#im = cv2.imread("name.jpg") # loads image as np array
im = np.arange(75.).reshape(5, 5, 3) # pretend image to show filtering 
im[im < min_level] = min_level # set all indices where value is less than min_level to min_level

所以在过滤之前我们有一个看起来像这样的数组:

>>> im
[[[ 0.  1.  2.]
  [ 3.  4.  5.]
  [ 6.  7.  8.]
  [ 9. 10. 11.]
  [12. 13. 14.]]

 [[15. 16. 17.]
  [18. 19. 20.]
  [21. 22. 23.]
  [24. 25. 26.]
  [27. 28. 29.]]

 [[30. 31. 32.]
  [33. 34. 35.]
  [36. 37. 38.]
  [39. 40. 41.]
  [42. 43. 44.]]

 [[45. 46. 47.]
  [48. 49. 50.]
  [51. 52. 53.]
  [54. 55. 56.]
  [57. 58. 59.]]

 [[60. 61. 62.]
  [63. 64. 65.]
  [66. 67. 68.]
  [69. 70. 71.]
  [72. 73. 74.]]] 

过滤后的样子:

>>> im
[[[20. 20. 20.]
  [20. 20. 20.]
  [20. 20. 20.]
  [20. 20. 20.]
  [20. 20. 20.]]

 [[20. 20. 20.]
  [20. 20. 20.]
  [21. 22. 23.]
  [24. 25. 26.]
  [27. 28. 29.]]

 [[30. 31. 32.]
  [33. 34. 35.]
  [36. 37. 38.]
  [39. 40. 41.]
  [42. 43. 44.]]

 [[45. 46. 47.]
  [48. 49. 50.]
  [51. 52. 53.]
  [54. 55. 56.]
  [57. 58. 59.]]

【讨论】:

  • 不,我刚才试过了,但这会使图像变亮,而当我在 Photoshop 中这样做时,图像往往会变暗。我尝试了下面的“输出电平”并这样做,使它变暗,所以它可能正在改变输出电平。或更改输入电平但不更改低于阈值、高于阈值(右侧的值)
  • 我只是不确定 Photoshop 在问题中的作用。您也可以使用相同的技术过滤图像的顶端。您还可以规范化数据,而不是需要这样做
  • 嗨,格兰特,我只是这样做:max_level = 255 - level; new_image[new_image &gt; max_level] = max_level,到目前为止,它似乎可以完成这项工作。
  • 啊,我明白了。很高兴你成功了!
  • 你知道另一种方法吗?我认为有一些“数据丢失”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 2012-08-22
  • 2015-01-24
  • 1970-01-01
  • 2017-06-29
  • 2012-04-27
  • 2011-06-30
相关资源
最近更新 更多