Я хочу отобразить изображение с помощью opencv на Mac OS X 13 ‘. Размер изображения составляет 1920 × 1080. Когда я запускаю этот код, я вижу только часть изображения. Мне нужно подогнать изображение к экрану.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include "opencv2/opencv.hpp"#include<string.h>
using namespace cv;
using namespace std;
int main()
{
Mat image=imread("/Users/rafikgouiaa/Qt/projects/MakeVideo/build-MakeVideo- Desktop_Qt_5_0_2_clang_64bit-Debug/im.jpg");
namedWindow( "Display frame",CV_WINDOW_AUTOSIZE);
imshow("Display frame", image);
waitKey(0);
return 0
}
Если вам нужно показать изображение, которое больше разрешения экрана, вам нужно будет позвонить
namedWindow("Display frame", WINDOW_NORMAL)
перед имшоу.
Чтобы установить желаемый размер окна вызова, пожалуйста,
cv::resizeWindow("Display frame", WIDTH, HEIGHT);
Для более подробной информации смотрите http://docs.opencv.org/modules/highgui/doc/user_interface.html#imshow
Переходя CV_WINDOW_AUTOSIZE
в namedWindow()
сделает размер окна автоматически настроенным, чтобы соответствовать отображаемому изображению. И вы видите, что часть изображения, вероятно, потому что изображение слишком велико для вашего экрана.
Чтобы работать, вы можете сначала изменить размер изображения до меньшего размера. Как это:
Mat image=imread("...");
resize(image, image, Size(image.cols/2, image.rows/2)); // to half size or even smaller
namedWindow( "Display frame",CV_WINDOW_AUTOSIZE);
imshow("Display frame", image);
Вам нужно поставить CV_WINDOW_OPENGL вместо CV_WINDOW_AUTOSIZE