我想用PIL做一个图像轮廓。我的目标是有一些额外的文字行,将在任何背景(包括图像,而不仅仅是纯色)上可见,有点像电影字幕概述
这里有很多答案,网上也有很多文章,但都不适合我。它们归结为:
(通常用于文本)Dofor
-循环将文本放置到dx
的(x+dx, y+dy)
位置,range(-radius, radius + 1)
中的dx
模糊图像
画一个等高线,用粗线画出来
边缘检测算法
我试过了,但效果不好。这是一个真正需要看起来专业的项目
如果我在Gimp中这样做,我可能会使用“按颜色选择”工具选择图像的透明部分,然后反转选择(选择所有不透明的内容),然后增加选择(在拐角处给我一个很好的圆角形状),然后对其进行一点修饰(获得更平滑的线条),然后用纯色绘制,在我的图像下面的一层
有没有可能在PIL中执行类似的操作,或者任何兼容的操作(基本上,任何可以拍摄NumPy数组“图像”的操作)
不幸的是,你还没有展示你的任何试验,所以人们可以看到,你的结果是什么样的得到一个印象,什么你认为“不好”。所以,正如您提到的,存储为NumPy数组的图像,OpenCV可能是这里的一个选项
我将结合上述观点:
0
(不可见)添加一个额外的alpha通道集李>这就是代码:
模糊的参数是手动设置的。不同的图像和文本大小需要进一步调整
下面是一个示例输出:
即使使用与图像背景相似的前景色,文本仍然可读-至少在我看来:
所以,现在的大问题是:这个结果被认为是“坏的”吗
希望有帮助
相关问题 更多 >
编程相关推荐