14

OpenCVでコンピューターの画面解像度を取得するにはどうすればよいですか? 画面幅全体を使用して 2 つの画像を並べて表示する必要があります。OpenCV では、作成したい正確なウィンドウ サイズが必要です。

4

6 に答える 6

5

Linuxでは、これを試してください

#include <stdio.h>
int main()
{
 char *command="xrandr | grep '*'";
 FILE *fpipe = (FILE*)popen(command,"r");
 char line[256];
 while ( fgets( line, sizeof(line), fpipe))
 {
  printf("%s", line);
 }
 pclose(fpipe);
 return 0;
}

Windows では、

http://cppkid.wordpress.com/2009/01/07/how-to-get-the-screen-resolution-in-pixels/

于 2012-06-15T04:23:59.877 に答える
2

OS 関数の代わりに opencv を使用する:

cv.namedWindow("dst", cv.WND_PROP_FULLSCREEN)
cv.setWindowProperty("dst",cv.WND_PROP_FULLSCREEN,cv.WINDOW_FULLSCREEN)
(a,b,screenWidth,screenHeight) = cv.getWindowImageRect('dst')

だから私はフルスクリーンモードでウィンドウを作成し、その幅と高さを尋ねます

どのOSでも動作するはずですが、Windowsでしか動作しませんでした. Linux では、ウィンドウはフルスクリーンではありませんでした。

于 2021-02-09T08:22:58.933 に答える
0

OSの機能ではありません-オペレーティングシステムによって異なります

于 2012-06-14T23:07:54.307 に答える
-2

新しいバージョンでは、以下のようにも機能します。これは素晴らしいことです:-D

printf("%f",cap.get(CV_CAP_PROP_FRAME_HEIGHT));

ビデオ解像度を設定します。

<capture_handle>.set(property_in_caps, value_in_double);

ex, cap.set(CV_CAP_PROP_FRAME_HEIGHT, 720);
于 2013-03-06T18:58:47.813 に答える