我想知道 opencv 窗口是否已经存在。一种可能的解决方案是,
std::string winName = "winName";
cv::namedWindow(winName);
HWND* hwnd = (HWND*)(cvGetWindowHandle(winName.c_str()));
if(hwnd == nullptr)
{
std::cout<<"\n window handle hwnd is null \n";
}
else
{
std::cout<<"\n window handle hwnd is not null \n";
}
cv::destroyAllWindows();
hwnd = (HWND*)(cvGetWindowHandle(winName.c_str()));
if(hwnd == nullptr)
{
std::cout<<"\n window handle hwnd is null \n";
}
else
{
std::cout<<"\n window handle hwnd is not null \n";
}
Run Code Online (Sandbox Code Playgroud)
但这不是跨平台解决方案。有没有 ?
在 OpenCV 2.4.3 的参考手册中,它KeyPoint::class_id被描述为“可用于通过它们所属的对象对关键点进行聚类的对象 ID”。
由于我对“关键点”缺乏足够的了解,我无法理解class_id.
我的另一个问题是,通过使用特征检测器、描述符和匹配器,我们可以检测训练图像中查询对象的匹配关键点。但是如何在训练图像中分割出查询对象。我们可以使用抓取或分水岭算法吗?如果是,如何?
任何一个问题的答案都会有所帮助。
提前致谢...
opencv image-processing object-detection image-segmentation keypoint