在opencv 2.x版本的图像上是否有用于滑动窗口(自定义大小)的内置库? 我试图自己编写算法,但我发现它非常痛苦并且可能容易出错。 我需要在图像上滑动并为svm的输入创建直方图。 还有一个用于HOG Descriptor,它计算HOG功能,但我有自己的功能集,所以我只需要一个算法让我滑过图像。
答案 0 :(得分:1)
您可以在cv::Mat
对象上定义感兴趣区域(ROI),从而为您提供引用子窗口的新Mat
对象。这不会复制基础数据,只会复制具有适当元数据的新标头。
另见另一个问题:
答案 1 :(得分:1)
基本代码可以看起来像。该代码描述良好。我希望。
这是单级滑动窗口60x60,步骤30。
这个简单例子的结果是ROI。
您可以访问此基本教程Tutorial Here。
// Parameters of your slideing window
int windows_n_rows = 60;
int windows_n_cols = 60;
// Step of each window
int StepSlide = 30;
for (int row = 0; row <= LoadedImage.rows - windows_n_rows; row += StepSlide)
{
for (int col = 0; col <= LoadedImage.cols - windows_n_cols; col += StepSlide)
{
Rect windows(col, row, windows_n_rows, windows_n_cols);
Mat Roi = LoadedImage(windows);
}
}