HWND というウィンドウハンドルの取得方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Terry

HWND というウィンドウハンドルの取得方法

#1

投稿記事 by Terry » 13年前

DirectSound の協調レベルを設定するために、HWND型 のウィンドウハンドルを取得しなければならないのですが、
取得の仕方がわかりません。

下記ソースコード14行目で、openCVによるウィンドウを立ち上げていますが、このウィンドウを設定すればよろしいのでしょうか。
そもそも、音声の設定のためになぜウィンドウハンドルを設定する必要があるのでしょうか?

どなたか、詳しい方教えていただけないでしょうか。
よろしくお願いします。

コード:


int main()
{

	
  //画像処理
  CvCapture *capture = cvCreateCameraCapture(0);
  CvSize size = cvSize(WIDTH, HEIGHT);
  IplImage *sourceImage = cvCreateImage(size, IPL_DEPTH_8U,3);
  IplImage *grayImage = cvCreateImage(size, IPL_DEPTH_8U,1);
  IplImage *grayLastImage = cvCreateImage(size, IPL_DEPTH_8U,1);
  IplImage *TimeSubImage = cvCreateImage(size, IPL_DEPTH_8U,1);
  char windowNameCapture[] = "Capture";
  cvNamedWindow(windowNameCapture, CV_WINDOW_AUTOSIZE);

	//音声処理
  
    //*********初期化***************
    pDxSound->InitDirectSound( );//ここでHWND型のウィンドウハンドルを使う


	while (1) 
  {
    sourceImage = cvQueryFrame(capture);
	cvFlip(sourceImage,sourceImage,0);//画面反転
	cvCvtColor(sourceImage, grayImage, CV_BGR2GRAY); // グレースケールへ変換
	cvAbsDiff(grayImage, grayLastImage, TimeSubImage);//フレーム間差分
	cvThreshold(TimeSubImage, TimeSubImage, 30, 255, CV_THRESH_BINARY); //2値化処理(閾値10)

	gSabunValue = getFeature(TimeSubImage);//差分量取得
	wprintf( L"Feature Value: %f\n", gSabunValue);

    cvShowImage(windowNameCapture, TimeSubImage);

	

	
    if (cvWaitKey(33) == 'q') break;
	cvCopy(grayImage, grayLastImage);
	
  }

  //リソースを開放
  
  cvReleaseCapture(&capture);
  cvReleaseImage(&grayImage);
  cvReleaseImage(&grayLastImage);
  cvReleaseImage(&TimeSubImage);
  cvDestroyWindow(windowNameCapture);

  
	return 0;
}


アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

Re: HWND というウィンドウハンドルの取得方法

#2

投稿記事 by h2so5 » 13年前

cvGetWindowHandle(windowNameCapture) で取得できると思います。
http://opencv.jp/opencv-1.0.0/document/ ... imple.html

Terry

Re: HWND というウィンドウハンドルの取得方法

#3

投稿記事 by Terry » 13年前

h2so5さんがご指摘された方法

cvGetWindowHandle(windowNameCapture);

を用いて無事ウィンドウハンドルを取得することができました。

本当にありがとうございました。


閉鎖

“C言語何でも質問掲示板” へ戻る