【问题标题】:FLUTTER: Blend imaged with Median FilterFLUTTER:使用中值滤波器混合图像
【发布时间】:2020-11-01 16:08:34
【问题描述】:

我需要使用像 photoshop 中的中值过滤器来混合使用相机插件(ui.Image 格式)拍摄的大量图像。

我目前使用带有 drawImage 和 Paint.BlendMode 的画布(我正在使用产生类似效果的 lighten),但没有“中值”混合模式。

中值滤波是通过对所有图像的每个通道 RGB 取中值来完成的。

那么...在 dart/flutter 中是否有任何中值滤波器,或者我需要手动检查所有图像像素?在第二种情况下,如何将 ui.Image 转换为允许我获取单个像素并将其写入另一个图像的类? 示例:

color = image.getPixel(x, y);

newImage.setPixel(x, y, color);

提前谢谢你!

【问题讨论】:

    标签: image flutter camera blend


    【解决方案1】:

    canui.image 转换为 RGB,但这种操作会非常缓慢。你需要一些额外的包,例如https://pub.dev/packages/photofilters 或一些other

    【讨论】:

    • 我没有在图像上找到任何带有中值滤波器的东西 :( 我尝试使用图像包和 getPixel/setPixel,但它需要 2 分钟才能混合 5 个图像:( 我需要的是:对于对于所有图像在相同坐标中的每个像素,我需要对每个通道(R、G 和 B)进行算术平均,然后写入像素。我目前在 List 中添加所有红色绿色和蓝色像素,然后我做一个算术平均值: int mediaR = red.reduce((a, b) => a + b) ~/ red.length;
    • 但是...结果是完美的!但它太慢了,并且应用程序在加载时卡住了。也许我可以使用隔离来避免卡住,但无论如何它很慢......
    • 这是一种证明ffi合理的任务
    猜你喜欢
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多