opencv滑动窗口
问题描述:
是否有任何内置的库,用于在opencv 2.x版本的图像上滑动窗口(自定义大小)? 我试图自己编写算法,但是我发现它非常痛苦,可能很容易出错。 我需要滑过图像并为svm的输入创建直方图。 HOG描述符有一个用于计算HOG特征但我有自己的特征集因此我只需要一个算法让我滑过图像。opencv滑动窗口
答
您可以在cv::Mat
对象上定义感兴趣区域(ROI),这会为您提供一个指向子窗口的新对象Mat
。这不会复制底层数据,而只是使用适当的元数据创建新的标题。
另见本的其他问题:
答
Basic代码可以看起来像。代码被描述得足够好。我希望。
这是单一尺度slideing窗口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);
}
}
就我所知,没有OpenCV的内置库。 OpenCV不包含任何高级GUI功能。你将不得不编写自己的代码来做到这一点。 – bubble 2012-08-11 06:33:18
我实现了这样的算法来做到这一点,但这听起来很尴尬的OpenCV没有这样一个重要的功能,因为滑动窗口是非常有用的,适用于很多目的。 – pms 2012-08-13 18:50:05