看起来Adobe Photoshop可以通过根据指定的级别数分别量化每个颜色通道来进行后期处理。因此,例如,如果您指定2个级别,则它将采用R值,如果R值小于128,则将其设置为0;如果值> = 128,则将其设置为255。它将对G和B执行相同的操作。

除了遍历每个像素并进行比较并分别设置值之外,还有没有一种有效的方法可以在Python中使用OpenCV做到这一点?由于OpenCV 2.4中的图像是NumPy ndarray,也许有一种有效的方法严格通过NumPy进行此计算吗?

最佳答案

我们可以使用numpy整齐地完成此操作,而不必担心所有通道!

import cv2
im = cv2.imread('1_tree_small.jpg')
im[im >= 128]= 255
im[im < 128] = 0
cv2.imwrite('out.jpg', im)

输出:

输入:

关于python - Adobe Photoshop风格的海报制作和OpenCV,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11064454/

10-16 12:02