gpt4 book ai didi

opencv - 我可以在我自己的自定义数据二维数组上使用 opencv cvResize() 函数吗?如果是如何?

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

目标:

我正在尝试使用 openCV 函数 cvResize() 对二维数组进行重采样。[我在 opencv 中有一个使用 cvResize 的工作代码,我知道它的用法] 但是我想要重采样的输入二维数组不是读取的任何图像通过 openCV 使用 cvLoadImage() 代替 -

1.我想从我的文本文件中读取二维数组。该文件中有浮点值。我将使用 opencv 库在此测试代码中打开该文件,读取二维 float 组中的值。

2.然后使用cvResize()调整它的大小。首先我想对其进行下采样——宽度/2,高度/2。

3.然后我想将它上采样 4 - 宽度*4,高度*4。这是我最终的二维数组。

4.将这个最终的二维数组作为浮点值存储到文本文件中。

5.基本上,我想使用 OpenCV 使用的双线性插值逻辑,但要使用我自己的数据。我可以在什么路径/哪个文件中看到 cvResize() 的代码?

感谢任何指点。

最佳答案

这里的困难似乎是您正在使用一种数据类型(二维数组)来存储从文件中读取的数据,这与 cvResize() 的工作方式不兼容(它是 IplImage* 还记得吗?)。

如果您正在使用 OpenCV 的 C 接口(interface)(并且通过观察您的其他问题,我知道您是),在成功地将文件中的数据读取为您的自定义数据类型(二维数组?)之后,您需要创建一个 IplImage* 足以存储此信息。

IplImage* cv_data_img = cvCreateImage(cvSize(custom_data_height, custom_data_width), IPL_DEPTH_32F, 1);

然后,您必须迭代 cv_data_img 以复制原始数据。

一旦 cv_data_img 填充了数据,您就可以创建其他的 IplImage* 您需要存储 cvResize().

最后,您可以迭代生成的 IplImage* 并将其复制回您的原始数据类型(二维数组)或使用它做任何您想做的事情。

关于opencv - 我可以在我自己的自定义数据二维数组上使用 opencv cvResize() 函数吗?如果是如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6538665/

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