gpt4 book ai didi

c++ - cv::LUT() - 插值参数是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:23 28 4
gpt4 key购买 nike

 void LUT(InputArray src, InputArray lut, OutputArray dst, int interpolation=0 )

根据查找表在8位数组中进行替换,并将结果存储在dst中。

opencv official documentation on the functioninterpolation 参数上保持沉默。它有什么用途,可以为它传递什么值?

最佳答案

它似乎是多余的(或者可能为将来的扩展保留)。

如果您查看该函数的实现,您将看到以下内容(请注意函数体第二行中的断言!):

void cv::LUT( InputArray _src, InputArray _lut, OutputArray _dst, int interpolation )
{
Mat src = _src.getMat(), lut = _lut.getMat();
CV_Assert( interpolation == 0 );
int cn = src.channels();
int lutcn = lut.channels();

CV_Assert( (lutcn == cn || lutcn == 1) &&
lut.total() == 256 && lut.isContinuous() &&
(src.depth() == CV_8U || src.depth() == CV_8S) );
_dst.create( src.dims, src.size, CV_MAKETYPE(lut.depth(), cn));
Mat dst = _dst.getMat();

LUTFunc func = lutTab[lut.depth()];
CV_Assert( func != 0 );

const Mat* arrays[] = {&src, &dst, 0};
uchar* ptrs[2];
NAryMatIterator it(arrays, ptrs);
int len = (int)it.size;

for( size_t i = 0; i < it.nplanes; i++, ++it )
func(ptrs[0], lut.data, ptrs[1], len, cn, lutcn);
}

关于c++ - cv::LUT() - 插值参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30048362/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com