opencv打印奇怪的黑色图像

时间:2015-03-31 04:20:16

标签: c++ image opencv

opencv imwrite正在我的C ++代码中打印奇怪的黑色(ish)图像。读取图像然后打印出来的示例代码如下:

#include "iostream"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;

int main()
{
    cv::Mat input_image = cv::imread("input_image.tiff",0);
    cv::imwrite("output_image.tiff",input_image);

    return 0;
}

我将其编译为g++ -std=c++11 main.cc -o bin `pkg-config --cflags --libs opencv`

输入图像和输出图像如下(应该相同):

输入图片Input Image输出图片Output image

图像正在被正确读取,因为我通过访问不同的像素值来检查它。因此问题出在imwrite中。

额外信息:代码在开始时工作正常,但突然改变了它的行为,重新安装opencv及其库无济于事。

有人可以告诉我这里有什么问题,

由于

1 个答案:

答案 0 :(得分:0)

我想,我发现了错误。 libtiff被打破,所以tiff图像打印有趣,而其他格式打印得很好。重新安装libtifftiff修复了错误。