如何在photoshop上使用类似python的工具对图像颜色直方图进行分级

如何在photoshop上使用类似python的工具对图像颜色直方图进行分级,python,image,opencv,image-processing,image-manipulation,Python,Image,Opencv,Image Processing,Image Manipulation,我需要使用python实现与使用Photoshop相同的功能:图像>调整>级别 在这个窗口中: 我需要使用Python将颜色级别设置为第一个值13 可以使用一些库图像工具、opencv、numpy或其他工具来实现吗 我已经看到了一些自动平衡和自动对比等,但我需要修改几个图像上的值 谢谢。如果我理解正确,那么您正在获取RBG值,并将所有低于最小阈值的值设置为等于最小阈值?如果是这种情况,那么我们可以将opencv作为numpy数组加载图像,并使用数组操作来实现相同的结果 import cv2 im

我需要使用python实现与使用Photoshop相同的功能:图像>调整>级别

在这个窗口中:

我需要使用Python将颜色级别设置为第一个值13

可以使用一些库图像工具、opencv、numpy或其他工具来实现吗

我已经看到了一些自动平衡和自动对比等,但我需要修改几个图像上的值


谢谢。

如果我理解正确,那么您正在获取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.]]

什么因为太宽而暂停?我特别问如何只做一个图像处理,以及如何在python上实现它。。。为什么你认为这太宽了?!不,我刚才试过了,但这会使图像变亮,而当我在photoshop中这样做时,图像往往会变暗。我尝试了低于输出水平,这样做,使它更暗,所以可能是改变了输出水平。或者更改输入级别,但不更改低于阈值、高于阈值和右侧的值我只是不确定photoshop在这个问题上做了什么。您也可以使用同样的技术来过滤图像的顶端。您还可以规范化数据,而不是需要的数据。Hi Grant,我只是这样做:max_level=255-level;新图像[新图像>最高水平]=最高水平,到目前为止,它似乎完成了这项工作。啊,我明白了。很高兴你成功了!你知道做同样事情的另一种方法吗?我认为有一些数据丢失