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

如何在python opencv中简单裁剪边框[duplicate]

张砚
2023-03-14

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

这是图像

import cv2
import matplotlib.pyplot as plt
img = cv2.imread("Segmentacion/Img_183.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)    
dst = cv2.Canny(gray, 0, 150)
blured = cv2.blur(dst, (5,5), 0)    
MIN_CONTOUR_AREA=200
img_thresh = cv2.adaptiveThreshold(blured, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)
Contours,imgContours = cv2.findContours(img_thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
for contour in Contours:
    if cv2.contourArea(contour) > MIN_CONTOUR_AREA:
        [X, Y, W, H] = cv2.boundingRect(contour)
        box=cv2.rectangle(img, (X, Y), (X + W, Y + H), (0,0,255), 2)

cropped_image = img[X:W, Y:H]
print([X,Y,W,H])
cv2.imwrite('contour.png', cropped_image )

共有1个答案

张光辉
2023-03-14

我想出了从原始图像裁剪边界框的公式

cropped_image = img[Y:Y+H, X:X+W]
print([X,Y,W,H])
plt.imshow(cropped_image)
cv2.imwrite('contour1.png', cropped_image)
 类似资料:
  • 问题内容: 在Java中,从图像中自动裁剪出白色边框的最简单方法是什么?提前致谢… 问题答案: 如果要使白色部分不可见,最好的方法是使用图像滤镜并使白色像素透明,@ PhiLho 在此处讨论了一些很好的示例,如果要调整图像大小以免边框没有白色颜色,您可以通过四个简单的循环来完成此操作,我为您编写的这个小方法可以解决问题,请注意,它仅裁剪图像的上部,其余部分可以编写,

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

  • 我正在尝试鲁棒地提取轮廓的旋转边界框。我想拍一张图像,找到最大的轮廓,得到它旋转的边界框,旋转图像使边界框垂直,并裁剪到大小。 为了演示,这里有一个原始图像链接在下面的代码中。我想最终把那只鞋旋转到垂直方向,裁剪成合适的尺寸。这个答案中的以下代码似乎适用于opencv行等简单图像,但不适用于照片。 最终得到这个,旋转和裁剪错误: 编辑:将阈值类型更改为,它现在已正确旋转,但裁剪错误: 如何获得正确

  • 本文向大家介绍iOS实现裁剪框和图片剪裁功能,包括了iOS实现裁剪框和图片剪裁功能的使用技巧和注意事项,需要的朋友参考一下 图片处理中经常用的图片剪裁,就是通过剪裁框确定图片剪裁的区域,然后剪去该区域的图片,今天实现了一下,其实图片剪裁本身不难,主要剪裁框封装发了点时间,主要功能可以拖动四个角缩放,但不能超出父视图,拖动四个边单方向缩放,不能超出父视图,拖动中间部分单单移动,不改变大小,不能超出父

  • 我在javafx上工作,要求是当任何按钮在屏幕上被点击时,屏蔽/剪辑特定的屏幕。当按钮被点击时,在我们收到响应之前,我应该限制用户访问页面中的其他选项/按钮。用户需要等待,直到请求得到处理。当请求得到处理时,我需要禁用/屏蔽/剪辑我的主窗口(我不确定确切的术语)。我怎么能这样做? 我用的是java 1.7_25

  • 问题内容: 我有一个div,其border-radius设置为某个值(比方说10px),还有一个嵌套的div,它是其父级的完整宽度和高度。 我注意到,尽管溢出被设置为隐藏,但父母并没有将孩子夹在圆角上。另一个stackoverflow线程指示此行为是“设计使然”: …我不禁注意到“拐角裁剪”部分中的以下描述: 剪切到边框或填充边缘的其他效果(例如“可见”以外的“溢出”)也必须剪切到曲线。替换元素的