完整的图像不会使用imshow

时间:2014-11-15 12:07:48

标签: c++ opencv

我有一张尺寸为4096 X 2304的图像。我可以在双击时查看该图像。 然后我想编写自己的opencv(版本2.4.3)程序来显示这个图像。但是图像不适合屏幕。它仅显示50%,其余部分正在切割。

这是我的图像显示代码:

#include "stdafx.h"
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

    using namespace cv;
    using namespace std;

    int main()
    {
        Mat im = imread("1.jpg");
        if (im.empty()) 
        {
            cout << "Cannot load image!" << endl;
            return -1;
        }
        imshow("Image", im);
        waitKey(0);
    }

我的显示器的屏幕分辨率最高为1366 x 768。

那么为什么我的程序无法显示完整的未剪切图像?

1 个答案:

答案 0 :(得分:0)

试试这个(我已经对你的代码进行了部分编辑,只是粗略的位0_0):

Mat im_s = imread("myimg", CV_LOAD_IMAGE_COLOR);

    if (im_s.empty()) 
    {
        cout << "Cannot load image!" << endl;
        return -1;
    }

namedWindow( "Myimg", WINDOW_AUTOSIZE );

Size size(4096,2304);
Mat im;
resize(im_s, im, size);

imshow("Myimg", im);

waitkey(0);

return 0;