Полное изображение не приходит с помощью imshow

0

У меня есть изображение размера 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.

Итак, почему моя программа не может отобразить полное неразрезанное изображение?

  • 0
    Ваше отображаемое изображение больше, чем ваш пятнадцать, поэтому вы не можете отобразить его;)
  • 0
    Попробуйте cv :: namedWindow ("Изображение", WINDOW_AUTOSIZE); перед imshow и изменением размера;)
Показать ещё 1 комментарий
Теги:
opencv

1 ответ

0

Попробуйте это (я сделал частичное редактирование вашего кода, просто бит 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;
  • 0
    это не работает. Я думаю, что мне нужно изменить его размер.
  • 0
    @TabishSaifullah Обновленный ответ :)
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню