c++ opencv とコンソール ウィンドウを使用してプログラムを作成しています。ユーザーが目的のしきい値を入力できるヘルプ メニューを用意したいと考えています。私が抱えている問題は、画像ウィンドウが選択されている場合にのみ入力が機能し、コンソール ウィンドウが選択されている場合には機能しないことです。以下に示すように、入力はメインではなく、void onNewDepthSample( にあります。コンソール ウィンドウが選択されているときに入力を取得したいのですが、画像ウィンドウが選択されているときに正常に動作します。コードの短いサンプルを以下に示します。
void changeItems()
{
int input = 0;
cout << "Welcome: Here is where to set up the proper image quality\n";
cout << "Press 'h' for the help menu and 'x' to leave the loop\n";
char keyInputs = 'a';
while(keyInputs != 'x')
{
cin >> keyInputs;
if( keyInputs == 'h' )
{
cout << "help menu\n";
}
}
cout << "Leaving the loop";
changeValues = 0;
}
void onNewDepthSample(DepthNode node, DepthNode::NewSampleReceivedData data)
{
//printf("Z#%u: %d\n",g_dFrames,data.vertices.size());
int p[3];
int circleTemp[6000] ={0};
int circleTempVal = 0;
int resultsTotalAfterRemove = 0;
int resultsTotalAfterRemoveVideo = 0;
float robotx = 0;
float roboty = 0;
char * cCoordinates = new char[100];
char * cDepth = new char[100];
p[0] = CV_IMWRITE_JPEG_QUALITY;
p[1] = 100;
p[2] = 0;
int32_t w, h;
FrameFormat_toResolution(data.captureConfiguration.frameFormat,&w,&h);
if(changeValues != 0)
{
changeItems();
}