当前位置: 首页 > 知识库问答 >
问题:

opencv在python中裁剪平行四边形图像[复制]

林英朗
2023-03-14

我正在使用Python和Opencv。我现在正在做一个车牌识别项目。我现在可以像这样认出这个盘子:

我得到了这样一个“数组”:

[[[542 796]]

 [[965 883]]

 [[547 884]]
   
 [[966 795]]]

问题是:如何用这些坐标裁剪出边界区域?

因为这四个对应项是排列的,它不是一个矩形,所以我不知道如何才能裁剪出来。

共有1个答案

栾弘新
2023-03-14

您可以裁剪内部矩形或外部包围矩形。让四个坐标为:-

(x1,y1),(x2,y2)

(x3,y3),(x4,y4)

假设您对外部边界矩形感兴趣,因此没有字母被分割,您可以使用以下ROI进行简单裁剪。

int topLeftX = min(x1,x3);
int topLeftY = min(y1, y2);
int width = max(x2, x4) - topLeftX;
int height = max(y3, y4) - topLeftY;
cv::Rect outerRoi(topLeftX, topLeftY, width, height);
cv::Mat roiImage = image(outerRoi); //Note that this will not create a deep copy

如果您对从内部适合梯形的最大矩形感兴趣,您应该将最小值与最大值交换,反之亦然。

如果你想要一个梯形的roi,你应该创建一个遮罩图像。有关更多说明,请参见复制非矩形roi opencv

 类似资料:
  • 问题内容: 而闭合多边形的坐标是 . 我要区域边界 通过使用opencv裁剪的凹多边形。我找了其他类似的 但我没能找到正确的答案。所以我才这么问? 你能帮助我吗。 任何帮助都将不胜感激。!!! 问题答案: 步骤 使用多边形点查找区域 使用多边形点创建遮罩 做口罩修剪 如果需要,添加白色背景 代码:

  • 本文向大家介绍在Python中使用OpenCV裁剪图像,包括了在Python中使用OpenCV裁剪图像的使用技巧和注意事项,需要的朋友参考一下 什么是裁剪? 裁剪是从摄影或插图图像中去除不需要的外部区域。该过程通常包括去除图像的某些外围区域,以从图片中去除多余的垃圾,改善其取景,改变纵横比,或使主题与背景突出或分离。 我们将使用 OpenCV-python (cv2)的这些函数, imread()

  • 问题内容: 我如何像以前在PIL中一样使用OpenCV裁剪图像。 PIL的工作示例 但是我如何在上做到这一点? 这是我尝试的: 但这是行不通的。 我认为我使用不正确。如果是这种情况,请说明如何正确使用此功能。 问题答案: 非常简单。使用numpy切片。

  • 我需要裁剪图像根据边缘我发现(与给定epsilon) 我有以下说明:Opencv c检测并裁剪图像上的白色区域 有了一个变化-我试图根据我从精明的边缘检测器收到的边缘图像找到矩形: 我遇到的问题是,当我到达第139列时,它会因为以下异常而崩溃: Microsoft C异常:cv::内存位置0x000000EB35DEF170处的异常。 但是,当我使用原始图像(而不是边缘图像)时,它会按预期工作。

  • 我正在尝试学习opencv并通过测试一些用例来实现一个研究项目。我正试图用python opencv裁剪图像内部的边框。我已经成功地创建了边界框,但在裁剪时失败了 这是图像

  • 我不熟悉Python中的图像处理,我正在尝试解决一个常见问题。我有一张有人签名的照片。我想找到边缘并裁剪它以适合图像中的签名。 我尝试了Canny边缘检测和使用现有解决方案列表裁剪图像 我尝试了一些解决方案: > https://www.quora.com/How-can-I-detect-an-object-from-static-image-and-crop-it-from-the-image