我正在使用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一样存储,因为我的文件系统上的图像具有适当的位。
答案 0 :(得分:0)
也许您有32位的Bgra图片?这意味着每个像素有4个通道,每个通道使用8位。 Bgra代表蓝色,绿色,红色和Alpha。这对于png图像来说很典型,因为这种格式可以编码alpha通道。
尝试:
<Entry x:Name="pEntry" ... />