当前位置: 首页 > 知识库问答 >
问题:

针对相同颜色的大面积优化图像模糊

刘琨
2023-03-14

我正在努力为一个实心(但不是矩形)对象生成一个投影。输入是表示对象不透明度的灰度图像。然后,我想模糊它,给它上色,然后在物体后面画它。

最常见的情况是,这张图像将具有相同色调的大连续区域,这意味着如果我使用标准模糊算法,我将浪费图像绝大多数的周期。考虑下面的输入和输出:

所有的模糊工作都需要在边缘进行,但是在大平面区域上的工作只是浪费了,并且代表了90%以上的像素。

有没有比模糊任意输入图像更快的模糊这种图像的通用算法?最终代码将是在GPU硬件不可用的环境中执行的Java应用程序的一部分。

共有1个答案

陆斌
2023-03-14

我不认为有一个特定的算法可以解决这个问题。因为图像是单色的,所以在检测过渡的两次通过(水平和垂直)中实现线扫描算法可能相对简单,并且在发现过渡后在该点应用模糊。

例如,您可能能够扫描每三行(和每列),并在过渡时应用半径为 3 的模糊。您可以使用间隔/半径来找到最佳平衡。或者,在水平刀路上仅应用水平模糊,而同样在垂直刀路上应用垂直模糊。

或者,您可以完全放弃这种方法,而查看非高斯模糊,例如 2 通 1 维正交卷积滤波器。根据其模糊运算符上的图像魔术页面,简单卷积滤波器的速度可能比基于高斯的滤波器快10倍或更高。2-通 1 维卷积滤光片执行类似于上述线扫描(通过执行水平和垂直遍历),但它适用于整个图像(甚至是实心区域)。但是,将“边缘检测”与正交模糊相结合,您可能能够实现显着的加速。虽然为了不混淆算法,扫描的图像不应该就地修改,而应该修改第二个“目标”图像。

 类似资料:
  • 我有以下问题:我有黑/白图像,我必须着色:图像中的每个白色“斑点”代表一个对象的实例,我想用新的颜色给每个对象着色,但对于每个图像,我想使用相同的颜色配色方案: 例如: 第一张图片:3个物体- 我已经用手给几张图片上色,以显示结果应该是什么样子: 必须着色的黑白口罩 2个对象,2种颜色:绿色、黄色 4个物体,4种颜色:绿色、黄色、红色、浅灰色 为了自动完成,我尝试了以下方法: 问题是,如果我在我的

  • 存储为 Web 和设备所用格式概述 可以使用 “存储为 Web 和设备所用格式 ”对话框( “文件 ”>“存储为 Web 和设备所用格式 ”)来选择优化选项以及预览优化的图稿。 A C B D E FGH I “存储为 Web 和设备所用格式 ”对话框 A. 显示选项 B. 工具箱 C. “优化 ”弹出菜单 D. “颜色表 ”弹出菜单 E. 动画控件(仅限 Photoshop) F. “缩放 ”文

  • 本文向大家介绍iOS 更改图像的颜色,包括了iOS 更改图像的颜色的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 嘿,我正在尝试做一个程序,它加载一个彩色图像作为灰度画布,然后返回颜色点击像素。当setrgb()方法没有做它应该做的事情时,我就被困在这里了。我已经通过getRGB()从原始图像中复制了颜色,并使用setRGB()将其分配给新图像。我试图输出两个像素颜色值,但他们不一样。请帮我解决这个问题。以下是到目前为止的代码:

  • 问题内容: 在图中,如何用不同的颜色为高于阈值的所有值上色?像高于均值+标准或均值+ 2 * std的所有内容一样? 问题答案: 使用a是正确的方法,但是您也可以使用掩码数组在一行代码中完成一个简单的版本: 这样做的弊端在于它会使用过滤后的数据绘制原始数据,因此有时基础曲线可能会显示出来,具体取决于渲染方式。我在这里把红线弄得有点粗,但是我不确定它是否有所作为。好处是,它基本上是一行,阈值为。 这

  • 主要内容:颜色命名,getrgb()方法,getcolor()Pillow 提供了颜色处理模块 ImageColor,该模块支持不同格式的颜色,比如 RGB 格式的颜色三元组、十六进制的颜色名称(#ff0000)以及颜色英文单词("red")。同时,它还可以将 CSS(层叠样式表,用来修饰网页)风格的颜色转换为 RGB 格式。 注意,在 ImageColor 模块对颜色的大小并不敏感,比如 "Red" 也可以写为 " red"。 颜色命名 ImageColo