gpt4 book ai didi

c++ - 在 cv::resize() 之后图像奇怪地改变了

转载 作者:太空宇宙 更新时间:2023-11-03 22:48:55 25 4
gpt4 key购买 nike

相关代码在这里(C++,opencv):

Rect rec = boundingRect(...);
image_grey.copyTo(gesture_grey, mask);
imshow("image_grey", gesture_grey(rec));
resize(gesture_grey(rec), gesture_grey, Size(256, 256));
imshow("gesture_grey", gesture_grey);

imshow()的结果: enter image description here

为什么两个图像在调整大小之前和之后如此不同?如何解决?

最佳答案

问题出在 copyTo 方法中。它不会清除“gesture_grey”图像容器的内容。

当您使用 gesture_grey(rec) 时,您实际上是在执行复制构造函数,这会为您提供一个新的图像容器,所以这一切都很酷。但是,当您调用 copyTo 时,您正在复制到现有目标“gesture_grey”。

要修复它,您需要在调用 copyTo 之前重新初始化 'gesture_grey' 以清除它。否则,您看到的是“gesture_grey”之前的内容 + 您从 image_grey 复制的新内容的组合。

关于c++ - 在 cv::resize() 之后图像奇怪地改变了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42696123/

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