gpt4 book ai didi

c++ - OpenCV,在显示图像时读取用户文本输入(使用 waitKey)

转载 作者:太空狗 更新时间:2023-10-29 23:15:40 26 4
gpt4 key购买 nike

我在使用 OpenCV 时尝试获取一些用户文本输入时遇到了一些困难。

我开发了一个迭代程序,它打开图像、检测颜色并使用标准 cv::imshow() 显示它们,然后是强制性的 waitKey()。在此状态下,按任意键应该只处理并显示下一张图像。

问题是我想让用户有选择地单击显示的图像并输入一些文本数据。我尝试使用 cin >> mystring 但它看起来像 waitKey() 阻塞了控制台,所以我输入的任何内容都会显示但 cin 作为输入直到 waitKey 结束。这是一个问题,因为有时我希望每个图像获得多个文本输入,所以在 waitKey 工作时能够正常使用控制台和 cin 会很好。

关于如何让用户在显示图像时输入文本有什么想法吗?解决我的问题会很好,但也欢迎任何其他想法或解决方法。

太好了!

最佳答案

我知道您可能做错了什么 - 如果您也发布了您的代码,那就太好了(对于登陆这里的其他人)。

就像我建议的那样,您可以设置鼠标回调并在该函数中获取字符串。这对我来说足够公平:

std::string s("empty");
void on_mouse_click( int event, int x, int y, int, void* )
{
if( event == EVENT_LBUTTONDOWN ) //are you missing this?
{
std::cout<<"enter string: ";
std::cin>>s;
}
}
int main()
{
:
:
cv::imshow( "images", frame );
cv::waitKey();
std::cout<<s;
return 1;
}

如果我直接敲一个键,最后的显示语句显示“空”。如果我先单击图像,返回到控制台并输入内容,返回到图像窗口然后按下一个键,我会得到我输入的字符串。

关于c++ - OpenCV,在显示图像时读取用户文本输入(使用 waitKey),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28119949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com