У меня есть изображение размера 4096 X 2304. Я могу просмотреть это изображение при двойном щелчке. Затем я хотел написать свою собственную программу opencv (ver 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.
Итак, почему моя программа не может отобразить полное неразрезанное изображение?
Попробуйте это (я сделал частичное редактирование вашего кода, просто бит gutsy 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;