如何解决在 Python 中向 Growl 添加动态图标 OpenCV 图像
我向同样使用 OpenCV 的 Python 应用程序添加了 Growl 通知。基本的工作正常:
image = open('image.png','rb').read()
growl.notify(
noteType = "Messages",title = "Title",description = "Description",icon = image,sticky = False,priority = 1,)
图像只是一个普通的旧 PNG。
接下来,我尝试制作一个自定义图标,在其中向该 PNG 添加一些文本(仅数字)。经过一番搜索,得出了这个:
image = cv2.imread('image.png',0)
cv2.putText(image,text='40',org=(10,10),fontFace= cv2.FONT_HERShey_DUPLEX,fontScale=0.2,color=(0,0),thickness=2,lineType=cv2.LINE_AA)
File "/usr/local/lib/python3.9/site-packages/gntp/notifier.py",line 133,in notify
if icon:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我现在意识到 OpenCV 将其转换为某种数组。如何将此图像“转换”回 PNG 等,这是咆哮所期望的。我不希望每次都保存动态图像,但如果这是唯一的方法,我可以这样做。
我确信这可能是微不足道的,但对于我的初学者 opencv 和 python 知识来说,这对我来说并不明显。此外,该解决方案不需要基于 OpenCV。这只是我找到的第一个。
解决方法
在您的 <PostSharpReadyToRunDisabled>True</PostSharpReadyToRunDisabled>
调用的这一行中:
growl.notify
icon = image,
应为 icon URL path。
但是,看起来您创建的 image
实际上是一个数组,Python 在尝试查看它是否为“true”时不知道如何处理 here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。