- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这就是我正在尝试做的事情:
我有一张图片。
我想在图像中获取一个圆形区域,并使其正常显示。
图像的其余部分应该显得更暗。
这样,圆形区域就像“突出显示”一样。
我非常感谢有关如何在 Python 中执行此操作的反馈。
在 Gimp 中,我会手动创建一个灰色(小于中灰色)的新图层。然后我会在该层上创建一个圆形区域,并将其设置为中灰色。然后我会将混合模式更改为柔光。本质上,顶层的任何中间灰色的内容都将不加修改地显示,而任何比中间灰色更深的内容都会显示得更暗。
(理想情况下,我还会模糊顶层,以便过渡不会突然)。
如何在 Python 中通过算法来完成此操作?我考虑过使用 Pillow 库,但它没有这些类型的混合模式。我也考虑过使用 Blit 库,但我无法导入(不确定它是否还被维护)。我也对 scikit-image 持开放态度。我只需要有关库和一些相关函数的指针。
如果没有合适的库,我愿意从 Python 代码中调用命令行工具(例如 imagemagick)。
谢谢!
最佳答案
您还可以使用 Python 图像库来完成此操作。这是一种可行的方法,但可能会被优化,因为其中仍然有一个双 for 循环。
from PIL import Image
import math
def spotlight(img: Image, center: (int, int), radius: int) -> Image:
width, height = img.size
overlay_color = (0, 0, 0, 128)
img_overlay = Image.new(size=img.size, color=overlay_color, mode='RGBA')
for x in range(width):
for y in range(height):
dx = x - center[0]
dy = y - center[1]
distance = math.sqrt(dx * dx + dy * dy)
if distance < radius:
img_overlay.putpixel((x, y), (0, 0, 0, 0))
img.paste(img_overlay, None, mask=img_overlay)
return img
if __name__ == '__main__':
orig_file_name = 'amsterdam_1900x1500'
img = Image.open('{}.jpg'.format(orig_file_name))
spotlight_img = spotlight(img, (475, 900), 400)
spotlight_img.save('spotlight_{}.jpg'.format(orig_file_name))
关于python - 使用Python在图像中创建 "spotlight",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33603304/
是否可以扩展 Spotlight 的搜索功能以支持其他命令? 例如,是否可以定义自定义 Web 搜索别名,这意味着我可以输入 yt,它会提供来自 youtube 的结果。 或者,如果我可以输入 sl
我想修改应用程序中文件的 Spotlight 元数据属性(即不在 Spotlight 导入器中),但我找不到任何 API 可以执行此操作。是否可以?指向相关文档的指针将是理想的选择。 如果它有帮助,这
我刚刚在 Ubuntu 16.04 下安装了 SikuliX(sikulixapi-2.0.4.jar) 和 Eclipse Oxygen。测试程序如下: import org.sikuli.scri
我正在使用 Spotlight API 在我的应用程序中提供搜索。我需要知道搜索字符串在文件中出现的次数,以便我可以实现排序描述符并对结果进行排序。有什么方法可以做到这一点而不必打开每个文件?其他库(
这就是我正在尝试做的事情: 我有一张图片。 我想在图像中获取一个圆形区域,并使其正常显示。 图像的其余部分应该显得更暗。 这样,圆形区域就像“突出显示”一样。 我非常感谢有关如何在 Python 中执
我对使用 DBpedia Spotlight 感兴趣。但是,我们需要为两个参数插入一个值信心 和 支持 .这两个参数的真正含义是什么? 我想确定文本中重要的、突出的 n-gram。在那种情况下,什么是
我想要两个光源:一个定向光源和一个聚光灯。我似乎无法理解我做错了什么——可能不了解着色器是如何工作的!我得到第一盏灯很好,但没有迹象表明第二盏灯(又名聚光灯)的效果。这是我想出的片段着色器: vary
此 Mac OS Spotlight 插件查询 Google 并在 Spotlight 中显示搜索结果: http://www.apple.com/downloads/macosx/spotlight
搜索一些关键字后,我需要在聚光灯搜索中显示我的应用程序。该关键词之一是“预订”。使用 CoreSpotlight,我设法让它出现在“应用程序框”本身上,但不在结果中的“应用程序”框中。 正如您所看到的
原始搜索运行良好,但查询不会注意到对不可见项目的任何更改。 可以再次运行查询,它将找到更新。 查询非零,并且尚未取消订阅聚光灯通知。 这是错误还是预期行为? 我已经在几个不同的项目中对此进行了多次测试
我希望创建一个可以放在 Spotlight 旁边的应用程序。 像 Dropbox、Mint、Alfred 这样的应用程序驻留在其中,并在操作系统的生命周期中一直存在。 我应该从哪里开始? 提前致谢,R
我正在使用 Spotlight API(Carbon 和 Cocoa 版本),似乎每隔一段时间就会出现同样的问题:查询从不运行,并且从不运行触发任何通知。不过,我想强调的是,大多数时候它确实运行,所以
我有一个需要身份验证的应用程序。在用户验证之前,菜单栏中仅存在菜单项的子集。用户成功通过身份验证后,我将应用程序的主菜单替换为 [NSApp setMainMenu:aMainMenu]; 不幸的是,
我为漫画文件创建了一个聚光灯导入器。属性已成功导入并可搜索。剩下的一件事是让属性显示在文件的获取信息窗口中。 看起来这应该是编辑 schema.xml 文件的简单问题,因此属性嵌套在 displaya
有办法实现这一点吗? 原因是我试图在添加/删除不可见文件和文件夹时强制聚光灯接收自动更新。我认为这种行为是不索引元数据的副作用(但我可能是错的)。我从这个SO question 得出这个结论. 解决方
我在应用程序中使用 Spotlight API (NSSMetadataQuery)。如果用户尝试对未编入索引的卷执行 Spotlight 查询,我想向他们显示一条有用的注释。 我可以通过运行“mdu
我想执行 Spotlight 查询以查找本地硬盘驱动器上的 Aperture 资料库。一个非常简单的方法是使用 kMDItemKind 但它的值取决于当前的用户语言: kMDItemKind =
不幸的是,我在网上找不到有关此主题的任何最新信息。类似于这里提出的问题: OS X Yosemite Spotlight extensions ,现在可以在 macOS Sierra 上扩展 Sp
我的iPad 2具有iOS 9.3.2,但Core Spotlight仍然无法正常工作。 想知道是否受支持吗? 最佳答案 按照Apple documentation: 注意 尽管iOS 9及更高版本提
我构建了 QAS(问答系统)并使用 DBpedia 作为知识库,所以我需要在我的问题中找到资源,例如( Algolia 、佛罗里达、巴拉克奥巴马..),当我使用“dbpedia-spotlight 工
我是一名优秀的程序员,十分优秀!