我有一张图像,我想对该图像的 ROI 执行 OpenCV boxFilter。
image = cv::imread(argv[1], CV_LOAD_IMAGE_COLOR);
cv::Rect roi( 10, 10, 64, 64);
cv::Mat output;
cv::boxFilter(image(roi),output,-1,cv::Size(scale_size,scale_size));
我想知道如果内核超出了 ROI 会发生什么?使用 ROI 之外但仍在图像内的像素进行过滤,还是仅使用 BorderType 指定的值? 其实我想用前者来做过滤。
非常感谢。
EnjImage
cv::Mat::operator()(const Rect & roi
cv::boxFilter
返回一个新的 cv::Mat
对象。时,该函数会将
cv::boxFilter
视为独立图像,并将 ROI 边界上的像素视为输入的真实边界,并将根据 image(roi)
参数进行处理.即它不会使用原始图像中的像素,但不会使用 ROI 图像中的像素。