Microsoft Visual Studio 2010 に MFC プロジェクトがあります。ダイアログに PictureControl があります。opencv でウィンドウを生成してから、このように PictureControl に変換します
namedWindow("INPUT", 1);
HWND hWnd = (HWND) cvGetWindowHandle("INPUT");
HWND hParent = ::GetParent(hWnd);
::SetParent(hWnd, GetDlgItem(IDC_BMP_LOAD)->m_hWnd);
::ShowWindow(hParent, SW_HIDE);
32 ビット アーキテクチャ用にコンパイルすると、動作します。64ビット用にコンパイルすると、名前付きウィンドウが生成されますが、非表示にはならず、名前に「%HO」のような「INPUT」とは異なる奇妙な文字列があります。imshow で何かを表示しようとすると、アクセス違反のエラーが発生します。画像はウェブカメラからのものです。どんな助けでも大歓迎です!ありがとう。
アップデート
ウィンドウ ハンドラー hWnd が問題ないかどうかを確認しようとしましたが、未使用のファイルで "CXX0030: エラー: 式を評価できません" というメッセージが表示されます。関数 cvGetWindowHandle() の OpenCV のドキュメントでは、Win32 アプリケーションの場合、名前で参照されるウィンドウのネイティブ HWND を返すと述べています。