我需要使用与菜单中的Photoshop相同的方式使用python:“Image> Adjustments> Levels ...”
在此窗口中:
我需要使用Python将颜色调整为第一个值为13。
可以使用一些库image-scikit,opencv,numpy或其他东西来完成吗?
我已经看到了几个自动平衡和自动对比等,但我需要在几个图像上修改该值。
感谢。
答案 0 :(得分:1)
如果我理解正确,那么您正在获取RBG值并设置所有低于最小阈值的值并将它们设置为等于最小阈值?如果是这种情况,那么我们可以使用opencv作为numpy数组加载图像并使用数组操作来实现相同的结果。
Article
所以在过滤之前我们有一个看起来像这样的数组:
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.]]]