gpt4 book ai didi

c# - 空图像中的 SkiaSharp 随机噪声

转载 作者:行者123 更新时间:2023-12-04 17:35:42 25 4
gpt4 key购买 nike

我正在使用 SkiaSharp 对一些图像进行切片,一些图片没有覆盖整个位图,看起来有些图片上有随机噪声。

最简单的复制方法就是创建新的空位图并将它们保存在一个循环中。像这样:

// imgSize = 224
// savePath is a new file path every time
var bm = new SKBitmap(imgSize, imgSize);
var subSaveStream = File.OpenWrite(savePath);
var subImage = SKImage.FromBitmap(bm).Encode(SKEncodedImageFormat.Png, 100);
subImage.SaveTo(subSaveStream);

首先要注意的是保存的文件大小从 305 字节到 50k 不等!有些几乎看不到伪影,有些则有疯狂的噪声模式,如下所示:

noisy image

我的问题:

我想我可以像这样 ex.Erase(SKColors.Black) 将其“擦掉黑色”,然后就完成了。但这是预期的吗?

环境:

我可以在我的机器(Win10 笔记本电脑)和 Debian 服务器上重现它,所以我们假设它不是我的机器。

SkiaSharp 1.68 + .NET Core SDK 2.2.300

加上 Debian 9 上的 SkiaSharp.NativeAssets.Linux 1.68

最佳答案

创建位图/图像/表面时,它不会清除内存。您看到的是原始内存数据。

选择不为您清除图像是为了提高性能(当您打算在下一个命令中执行此操作时,将所有像素清除为一种颜色没有用)它应该选择什么颜色?

当然,您可能会争辩说选择透明会解决这个“错误”,但这从来都不是真正的主要问题。

关于c# - 空图像中的 SkiaSharp 随机噪声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56749283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com