当前位置: 首页 > 面试题库 >

如何在opencv python中的图像周围添加边框

高朝明
2023-03-14
问题内容

如果我有如下图像,如何在图像周围添加边框,以使最终图像的整体高度和宽度增加,而原始图像的高度和宽度保持原样在中间。


问题答案:

下面的代码向原始图像的所有四个侧面添加大小为10像素的恒定边框。

对于颜色,我假设您要使用背景的平均灰度值,该值是根据图像底部两行的平均值计算得出的。抱歉,编码有些困难,但是显示了一般的操作方法,并且可以适应您的需求。

如果将底部和右侧的bordersize值保留为0,则甚至会得到对称的边框。

BORDER_TYPE的其他值也是可能的,例如BORDER_DEFAULT,BORDER_REPLICATE,BORDER_WRAP。

有关更多详细信息,请参见:http
:
//docs.opencv.org/trunk/d3/df2/tutorial_py_basic_ops.html#gsc.tab=0

import numpy as np
import cv2

im = cv2.imread('image.jpg')
row, col = im.shape[:2]
bottom = im[row-2:row, 0:col]
mean = cv2.mean(bottom)[0]

bordersize = 10
border = cv2.copyMakeBorder(
    im,
    top=bordersize,
    bottom=bordersize,
    left=bordersize,
    right=bordersize,
    borderType=cv2.BORDER_CONSTANT,
    value=[mean, mean, mean]
)

cv2.imshow('image', im)
cv2.imshow('bottom', bottom)
cv2.imshow('border', border)
cv2.waitKey(0)
cv2.destroyAllWindows()


 类似资料:
  • 问题内容: 我尝试在鼠标光标位于帮助图标上时显示跨度。 它可以工作,但是尽管如此,我还是无法删除图标周围的边框。 我的CSS: 光盘 问题答案: 尝试这个: 您还可以通过以下方式限制范围并仅删除某些图像上的边框: 可以在此处找到有关border css属性的更多信息。 编辑:将边框从更改为。如注释中所述,对于的单位是多余的。

  • 我有一个JPanel,我在网格的内部添加了25个JPanel。我希望每个面板周围都有一个边框,以便您可以清楚地区分每个元素。填充也可以。我向电路板添加面板的方式如果我尝试添加边框,它将应用于包含元素的较大面板。 {GridLayout实验布局=new GridLayout(5,5); } 如何在每个元素周围添加边框。是否需要更改将面板添加到网格的方式?

  • 我想创建与示例相同的LinearLayout边框: 在这个例子中,我们可以看到linearLayout周围的边框并不相同。如何使用XML绘图文件创建它? 目前,我只能在LinearLayout周围创建一个简单的边框,如下所示:

  • 问题内容: 我有一张图片,但是我还没有定义来源。它有一个边框:/ 例如: 如果提供源,则边框会消失(由于css:)。 没有来源时如何删除图片周围的边框? 问题答案: 我的建议是,如果没有src =“”将其删除,您可以 或者,如果您知道url中包含一些特殊字词(例如http),则可以执行以下操作:

  • 我是第一次开发颤振应用程序。。我在添加图像时遇到问题。我有以下问题: 在哪里创建图像文件夹? 在哪里添加资产标签pubspec.ymal? 这需要任何资产文件夹吗? 我所尝试的: 在pubspec内部。ymal: 完整文件: 错误日志: 我的主菜。dart代码: 我指的是这个教程https://flutter.io/tutorials/layout/ 此外,我想问,有没有在颤振清洁重建的工具,因为

  • 我有以下代码: null null 我想在它周围添加一个小框,并且为了更好地向大家展示我在寻找什么样的输出,那么最后我想要这样: 所以,我现在缺少的是 与黑色,我不希望ox填充 ,它应该与上面的图片大约相同的高度和宽度。把它看作是一个站点的预加载器。在页面的中间,一个带有 徽标的小型/中型框显示在其内部,如上面所示。 注意:动画应该在盒子里面工作,而不应该去盒子外面,所以当你运行上述代码时的动画应