【问题标题】:Adding a customized border to an image to give a realistic effect为图像添加自定义边框以提供逼真的效果
【发布时间】:2017-09-04 10:49:50
【问题描述】:

我有一张如下图:

对于这张图片,我想在底部添加一个边框,以便它可以产生类似轮廓的效果。最终图像应如下所示:

【问题讨论】:

  • 我不知道如何添加那种边框的东西。我试图选择最底部的部分并将像素涂黑,但这看起来非常不切实际。看起来像是推了一层黑色
  • 我的建议是找到一个可以绘制的数学公式,并给出类似山丘的表示,然后,对于每个 x,你得到一个 y 数,然后在下面画出所有内容。例如对于 y = 5(真正的 y 将是 rows-y),为 y=5,4,3,2,1,0 绘制黑色并对所有 x 执行此操作
  • 你能提供一个最小的例子来说明如何做到这一点吗?
  • @Deepak 试试cv2.copyMakeBorder(image, 0, 80, 0, 0, cv2.BORDER_CONSTANT, 0).

标签: python opencv scipy python-imaging-library scikit-image


【解决方案1】:

Zindarod 提供的 sn-p 可以完美运行。

但是,如果您想创建自己的边框,您可以使用以下方法:

我创建了一个与参考图像具有相同宽度的黑色像素数组。高度可以根据需要修改。

height, width, _ = img.shape
modified_height = 40
black = np.zeros((modified_height, width, 3), np.uint8)

您可以修改您想要使用的颜色:black[:] = (0, 0, 255)(用您选择的任何值填充它以查看更改)。

现在使用 numpy.vstack() 将其附加到您的图像中:

fin = np.vstack((img, black))

结果:

要进行任何更改,只需修改上面的代码段。

【讨论】:

  • 我认为他要求添加一些可以给人一种自然感觉的东西。虽然矩形条非常适合这张图片,但我认为这不是每个此类示例的好解决方案
  • @Nain 是的,你是对的。我想重申,您可以附加您自己的设计具有一定的高度,而不是普通的黑色条带。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 1970-01-01
  • 2013-04-12
相关资源
最近更新 更多