- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 OpenCV 从大图像中获取小的矩形 ROI,并将 ROI 保存到文件中。有时,ROI 会超出图像范围。我需要一种方法让生成的 Mat 显示大图像中边界内的部分,并为其余部分显示黑色。
为了帮助解释,假设您有一张区域 map 图像。我知道一个人在 map 上的位置,并想在 map 上截取 500x500 像素的部分,并以他们的位置为中心。但是当用户到达 map 边缘时,这个 500x500 部分的一部分将需要“离开 map ”。所以我希望它用黑色填充。
OpenCV 最好能够通过填充黑色(就像使用 warpAffine
旋转图像时那样)优雅地处理越界 ROI(例如负左上角值)但事实似乎并非如此。对于如何实现这个目标有什么建议吗?
最佳答案
所有其他答案对我来说似乎有点太复杂了。简单地:
// Create rects representing the image and the ROI
auto image_rect = cv::Rect({}, image.size());
auto roi = cv::Rect(-50, 50, 200, 100)
// Find intersection, i.e. valid crop region
auto intersection = image_rect & roi;
// Move intersection to the result coordinate space
auto inter_roi = intersection - roi.tl();
// Create black image and copy intersection
cv::Mat crop = cv::Mat::zeros(roi.size(), image.type());
image(intersection).copyTo(crop(inter_roi));
引用图片:
关于c++ - OpenCV ROI 越界 : Fill with black?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42017427/
我正在从事中间阶段的视频处理项目,需要用另一幅图像的 ROI(相同维度)替换某些图像的 ROI。有内置函数吗?? 最佳答案 您可以使用 Mat::copyTo 在 Mat 实例之间传输内容: cv::
我过去曾这样做过并且运行良好,但我的功能很奇怪。我正在尝试提取图像的投资返回率。这是我的代码: cv::Rect roi(x - 1, y - 1, 3, 3); cv::Mat patch_t(cu
我有真菌图像数据集,每个图像都有其 ROI 掩码。我想使用给定的掩码并从真菌图像中提取 ROI。 以下是我想使用一些机器学习技术提取 ROI 的掩码。 提前致谢。 最佳答案 您需要做的是,使用掩码作为
我有一个非矩形 ROI 的图像,由二值掩码图像定义。 在 OpenCV 中,如何将 ROI 外的像素设置为 ROI 内最接近的像素值?类似于 cv::BORDER_REPLICATE 中的内容,或类似
晚上好! 我的问题如下: 1.roi的形状只应该是200,200。这里显示 313,313,我不确定为什么。 2.当我将 roi 的 frame 切换为 imshow() 的参数时,结果也不是正确的
我对图像 ROI 的特征提取很感兴趣,这些特征将用作支持 vector 机的特征向量输入。要提取的特征包括纹理(颜色共现/haralick 特征)和颜色(rgb-直方图,4 bins 和均值 r,g,
我目前正在尝试运行EfficientPS(https://github.com/vincrichard/EfficientPS)。当我开始训练时,网络的初始化由于属于Detectron2的关键错误而崩
After applying mask original image import cv2 import dlib import numpy as np img = cv2.imread("Aayus
我试过在不同的网站上搜索解释,但我没有得到一个完整解释的答案。 import cv2 import numpy as np img1 = cv2.imread('3D-Matplotlib.png')
我的问题是关于如何仅将 Mat 的 roi 的 header 复制到 Mat 的另一个 roi 以避免复制整个 Mat 的数据以节省计算时间。 例如,我的源 Mat 的 roi 为 Mat src(c
我组织(开发API的中间件)中的软件开发团队正在准备一次采用至少一种最佳实践。列表中有以下内容: 单元测试(实际意义上), 自动化的单元测试 测试驱动设计与开发, 静态代码分析 持续集成能力等。 有人
我有一个视频序列,其中一帧如下所示。我试图使用角点检测来找到纸张上矩形的边缘。 我正在使用 Shi-Tomasi 角点检测器。然而,它从图像的背景中检测到许多我不需要的其他东西。我怎样才能将我的投资返
我正在尝试使用 opencv C++ 检测图像中固定重复模式的 ROI。 我试图找到的投资返回率 - 如图所示用红色边界显示: 我在模糊后尝试了精明的边缘检测,但它检测到垂直/水平黑白线的边缘。这不是
我目前正在使用足迹识别项目进行动物识别。我的主要任务是处理取自天然基质的动物足迹,并识别足迹所属的动物。第一步是预处理图像并提取 ROI。这是我遇到困难的地方,因为处理后的图像包含很多噪音。 我已经执
我正在寻找一种方法来找到感兴趣的非正方形区域。我在这里看到了所有基于矩形的示例。例如here they find the tilted rectangle .我看过像 this SO page 这样的
OpenCV 如何处理感兴趣区域 (ROI)? 假设我使用 cvSetImageROI() 设置了一个感兴趣区域。该 ROI 是否存储在 IplImage 结构中? 如果是这样,当我将图像传递给 cv
我得到了一些养牛场的图像。每个图像假设只覆盖两笔(小牛房)。但是,相机也会覆盖相邻的笔。我需要摆脱邻近笔的区域。 输入图像 - 输出图像 - 我已经尝试了以下命令并且它完成了工作。但是,它缩小了图像的
在我的项目中,我想裁剪图像的 ROI。为此,我创建了一个包含感兴趣区域的 map 。现在我想裁剪具有最重要像素的区域(黑色不重要,白色很重要)。 有人知道如何实现它吗?我认为这是一个最大化问题 下图中
我有一个电影文件,我感兴趣的是记录一个点的运动;圆形特征的中心是特定的。我正在尝试使用 Matlab 中的边缘检测和角点检测技术来执行此操作。 要执行此操作,我该如何指定视频中的感兴趣区域?子图是个好
我在提取非直线 ROI 时遇到了问题。到目前为止,我有以下内容: cv::RotatedRect face_rotated_roi(rotated_center, face_roi.size(), r
我是一名优秀的程序员,十分优秀!