我有一张尺寸为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。
那么为什么我的程序无法显示完整的未剪切图像?
答案 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;