gpt4 book ai didi

c++ - convertTo 在 opencv 中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:39 24 4
gpt4 key购买 nike

我正在尝试在 opencv C++ 中使用 convertTo()。但是会弹出一个错误提示

left of:convertTo must have class/struct/union

程序如下:

for (i = 0; i < height; i += 8)
{
for (j = 0; j < width; j += 8)
{
Mat block = dctImage(Rect(j, i, 8, 8));
vector<Mat> planes;
split(block, planes);
vector<Mat> outplanes(planes.size());
for (k = 0; k < planes.size(); k++) {
planes[k].convertTo(planes[k], CV_32FC1);
dct(planes[k], outplanes[k]);
outplanes[k].convertTo(outplanes[k], CV_8UC1);
}
}
}

最佳答案

我不确定 .convertTo() 是否可以处理相同源和目标的情况。您可能想尝试使用一对临时变量来绕过您的错误消息。这是您示例中的相关部分:

    // ...
for (k = 0; k < planes.size(); k++) {
Mat planes_k, outplanes_k; // <-- Added temporaries.
planes[k].convertTo(planes_k, CV_32FC1);
dct(planes_k, outplanes_k);
outplanes_k.convertTo(outplanes[k], CV_8UC1);
}
// ...

更新

根据source code of .convertTo()我的建议并不是真的需要(感谢指出这一点,@boaz001)。

关于c++ - convertTo 在 opencv 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34734001/

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