c - 使用 openCv 和 c 保存图像

标签 c opencv

我正在尝试加载图像,然后将其转换为灰度,然后保存它。我使用的是 C 而不是 C++,所以我不能像她的所有其他帖子一样在 Mat 中使用(是的,我都读过它们,所以不要打扰我)。

我发现我应该在函数 imwrite 中使用它来获取 2 个参数:名称和 IplImage。

这是我的代码:

#include <stdio.h>
#include <string.h>
#include <opencv2\core\core_c.h>
#include <opencv2\highgui\highgui_c.h>

int main(void)
{
    IplImage* im_gray = cvLoadImage("pic.png", CV_LOAD_IMAGE_GRAYSCALE);
    imwrite("outputGray.jpg", im_gray);
}

我收到此错误

Error 1 error LNK1120: 1 unresolved externals

我做错了什么?

最佳答案

imwriteC++ 版本,必须使用cvSaveImage其签名如下:

int cvSaveImage(const char* filename, const CvArr* image, const int* params=0 )

第一个参数是文件名,第二个参数是图像,第三个参数是选项。

您的代码将如下所示:

#include <stdio.h>
#include <string.h>
#include <opencv2\core\core_c.h>
#include <opencv2\highgui\highgui_c.h>

int main(void)
{
    IplImage* im_gray = cvLoadImage("pic.png", CV_LOAD_IMAGE_GRAYSCALE);
    cvSaveImage("outputGray.jpg", im_gray);
}

关于c - 使用 openCv 和 c 保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44756483/

相关文章:

c - 无法理解排队功能中的逻辑

python - 如何将自定义类及其变量/方法添加到 Visual Studio Intellisense?

python-3.x - 如何使用opencv python只从图像中提取脚

python - 如何修复 opencv python cv2.VideoCapture rtsp onvif "nonmatching transport in server reply"错误?

python - 从 OpenCV 到 PIL 的转换不准确

c++ - ShellExecute无法在Windows XP中打开特殊文件夹?

c - Newton Raphson 迭代陷入无限循环

python - 在图片上检测到超过 1 个对象

c++ - 使用简单 Blob 检测器时,命名空间 'Blender' stitching.hpp 中没有名为 'cv::detail' 的成员

c++ - C++ 代码链接错误 : warning C4190: type has C-linkage specified, 但返回与 C 不兼容的 UDT