【问题标题】:Python Opencv cv2.LUT() how to usePython Opencv cv2.LUT() 如何使用
【发布时间】:2014-02-03 20:05:26
【问题描述】:

需要对图像的颜色通道进行一些快速转换。

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

【问题讨论】:

    标签: python opencv methods


    【解决方案1】:

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

    LUT(srcImage, lookupTable, dstImage)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      相关资源
      最近更新 更多