2014-07-19 23 views
12

Mac os X 13 'de opencv kullanarak bir görüntü görüntülemek istiyorum. Görüntü boyutu 1920 × 1080'dir. Bu kodu çalıştırdığımda, görüntünün sadece bir kısmını görüyorum. Görüntüyü ekrana sığdırmalıyım.imshow opencv kullanarak görüntüye bir görüntü uydurma

#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 
} 
+0

cv :: boyutlandırmak (..) CV_WINDOW_AUTOSIZE bkz fazla ayrıntı için pencere çağrısı lütfen

cv::resizeWindow("Display frame", WIDTH, HEIGHT); 

istenen boyutunu ayarlamak için? –

cevap

4

namedWindow() için CV_WINDOW_AUTOSIZE geçirilmesi pencere boyutu otomatik olarak görüntülenir görüntüyü sığdırmak uyum sağlayacaktır. Görüntünün bir kısmının muhtemelen görüntünün ekranınız için çok büyük olması nedeniyle olduğunu görüyorsunuz.

Çalışmak için önce görüntüyü daha küçük boyuta yeniden boyutlandırabilirsiniz. Bu gibisin: ekran çözünürlüğü daha büyük bir resim göstermek gerekirse

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); 
+1

WINDOW_NORMAL kullanımı, görüntüyü pencereye veya ekrana sığacak şekilde ölçeklemedi. Bu yanıtın söylediği gibi, resmi yeniden boyutlandırmak zorunda kaldım. – redcurry

İlgili konular