gpt4 book ai didi

c++ - 无法在opencv中读取/写入图像

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

我有这段代码可以在 opencv 中创建和写入图像:

  char * outImage="C:/tmp/000014/outimage.jpg";
Mat gray_image(imageWidth,imageHeight, CV_8UC1, Scalar(255));

imwrite( outImage, gray_image );

但是当我运行 thid 代码时,出现文件扩展名未知的错误,因此 iwrite 无法写入图像。

这段代码有什么问题?

edit1

我更改了代码,发现代码或安装有问题。所以我现在有了这段代码

Mat x=imread("C:/tmp/a.jpg");
imshow("Image", x);
waitKey(0);

我确定文件 c:/tmp/a.jpg 存在。

当我运行应用程序时,出现此错误:

OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in unknown function, file C:\slave\builds\WinInstallerMegaPack\src\opencv\modules\core\src\array.cpp, line 2482
C:\slave\builds\WinInstallerMegaPack\src\opencv\modules\core\src\array.cpp:2482: error: (-206) Unrecognized or unsupported array type

我按照这个答案在我的系统上安装 OpenCV(我在安装过程中使用 vc11,而不是 vc10)Installing OpenCV 2.4.3 in Visual C++ 2010 Express

编辑2

问题是我混合了调试和发布库,

对于发布使用末尾没有 d 的发布库(例如 opencv_calib3d243.lib而不是 od opencv_calib3d243d.lib)

对于调试使用末尾有 d 的调试库,例如 opencv_calib3d243d.lib

确保您根据您拥有的 opencv 版本使用正确的库名称,例如 opencv_calib3d245d.lib 用于 opencv 2.4.5。

最佳答案

确保您没有混淆 OpenCV 的发布和调试 DLL。另外检查 x86 或 x64 DLL 是否可以工作。有时 x64 DLL 在 x64 机器上确实会搞砸。不知道为什么,但我不得不切换到 x86 版本。

关于c++ - 无法在opencv中读取/写入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16717883/

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