gpt4 book ai didi

c# - 创建深度超过 8 位的图像会使 Visual Studio 崩溃

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:06 25 4
gpt4 key购买 nike

我正在使用 Emgu CV 库来显示图像并在 C# 项目中对它们进行一些数学运算。我正在尝试从文件系统中读取图片,如果我将图片的深度设置为 8 位,则可以正常工作。一旦我想保存更大的图像,visual studio 就会在实例化新图像的地方崩溃(参见代码)。崩溃意味着 UI 卡住并且 Windows 10 信息中心弹出一条消息,表明 visual studio 正在等待内部进程。

我尝试将图片的深度设置为32位(int)和16位(short)。这些类型显示了所描述的问题。 8 位(字节)没有说明任何问题。我正在使用的图像大小为 69x44 像素,位深度为 32 位(这是资源管理器向我显示的内容)。

private static readonly string imagePath = "C:/xxx/xxx/image.png";

var image1 = new Image<Gray, byte>( imagePath ); //works fine
var image2 = new Image<Gray, short>( imagePath ); //crashes visual studio
var image3 = new Image<Gray, int>( imagePath ); //crashes visual studio

我希望 image2 和 image3 与 image1 一样存储,因为我的文件系统上的图像具有正确的 bitdetph。

最佳答案

也许你有一个 32 位的 Bgra 图像?这意味着每个像素有 4 个 channel ,每个 channel 使用 8 位。而 Bgra 代表蓝色、绿色、红色和阿尔法。这对于 png 图像来说很典型,因为这种格式可以对 alpha channel 进行编码。

尝试:

var image1 = new Image<Bgra, byte>( imagePath );

关于c# - 创建深度超过 8 位的图像会使 Visual Studio 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54070572/

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