繁体   English   中英

Python Opencv cv2.LUT()如何使用

[英]Python Opencv cv2.LUT() how to use

需要在图像的颜色通道上应用一些快速转换。

1)我在列表中存储了相应的输出值:

ListaVred = [0]*255

for i in range(0,255):
    ListaVred[i]=i*127 / 255 + 128

2)我从图像中得到0到25​​5的颜色输入值

3)应在图像中用输出替换输入值

i.e. red[45]= 0 
     ListaVred0] = 128
     red[45]= 128

我查看了cv2.LUT(src,dst)函数但不确定它的用法, http ://docs.opencv.org/trunk/modules/core/doc/operations_on_arrays.html#cv2.LUT

cv2.LUT(ListaVred,red)
TypeError: src is not a numpy array, neither a scalar


ListaVred = np.array(ListaVred)
cv2.LUT(ListaVred,red)
cv2.error: /build/opencv-Ai8DTy/opencv-2.4.6.1+dfsg/modules/core/src/convert.cpp:1195: error: (-215) (lutcn == cn || lutcn == 1) && lut.total() == 256 && lut.isContinuous() && (src.depth() == CV_8U || src.depth() == CV_8S) in function LUT

您查看了尚未发布的OpenCV版本(3.0版)的文档。 我猜您使用的是OpenCV 2.4.8或更低版本。 查看此文档 注意LUT功能的使用差异。 在页面顶部,您将看到此文档所属的OpenCV版本。

LUT(srcImage, lookupTable, dstImage)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM