C# 无法将类型转换为';系统.绘图.图像';存在显式转换
对于这一点,我使用Spinnaker SDK作为FLIR(PointGrey)相机的示例。我试图转换“convertedImage”以在Windows窗体的PictureBox中使用,但出现错误“无法将类型隐式转换为“System.Drawing.Image”。存在显式转换(是否缺少转换?)。你能告诉我需要做什么吗?谢谢 尝试了一切,包括基本的显式强制转换C# 无法将类型转换为';系统.绘图.图像';存在显式转换,c#,windows,forms,image,spinnaker-cam,C#,Windows,Forms,Image,Spinnaker Cam,对于这一点,我使用Spinnaker SDK作为FLIR(PointGrey)相机的示例。我试图转换“convertedImage”以在Windows窗体的PictureBox中使用,但出现错误“无法将类型隐式转换为“System.Drawing.Image”。存在显式转换(是否缺少转换?)。你能告诉我需要做什么吗?谢谢 尝试了一切,包括基本的显式强制转换 //Part of Spinnaker SDK example: using (IManagedImage convertedIma
//Part of Spinnaker SDK example:
using (IManagedImage convertedImage =
rawImage.Convert(PixelFormatEnums.Mono8))
{
String filename = "TriggerQS-CSharp-";
if (deviceSerialNumber != "")
{
filename = filename + deviceSerialNumber + "-";
}
Image testImage = convertedImage;
}
我也有同样的问题。Spinnaker类型
IManagedImage
有一个名为ManagedData
的属性,该属性是一个1d向量,包含图像的所有字节。如果你有我下面例子中的颜色,它们是交错的
//cv.ManagedData is a one D array of all pixels in all colors
int nx = 2592;
int ny = 1944; //7776/3 = 2592 stride, i.e. rgb are interleaved
byte[,,] data = new byte[ny, nx, 3];
for (int j = 0; j < ny; j++)
{
for (int i = 0; i < nx; i++)
{
for (int k = 0; k < 3; k++)
{
data[j,i, k] = cv.ManagedData[j * 3 * nx + 3 * i + k];
}
}
}
//emgu cv accepts the [,,] byte array
Image<Bgr, Byte> im0 = new Image<Bgr, Byte>(data);
//cv.ManagedData是所有颜色的所有像素的一维数组
int nx=2592;
int ny=1944//7776/3=2592步幅,即rgb交错
字节[,]数据=新字节[ny,nx,3];
对于(int j=0;j
我也有同样的问题。Spinnaker类型IManagedImage
有一个名为ManagedData
的属性,该属性是一个1d向量,包含图像的所有字节。如果你有我下面例子中的颜色,它们是交错的
//cv.ManagedData is a one D array of all pixels in all colors
int nx = 2592;
int ny = 1944; //7776/3 = 2592 stride, i.e. rgb are interleaved
byte[,,] data = new byte[ny, nx, 3];
for (int j = 0; j < ny; j++)
{
for (int i = 0; i < nx; i++)
{
for (int k = 0; k < 3; k++)
{
data[j,i, k] = cv.ManagedData[j * 3 * nx + 3 * i + k];
}
}
}
//emgu cv accepts the [,,] byte array
Image<Bgr, Byte> im0 = new Image<Bgr, Byte>(data);
//cv.ManagedData是所有颜色的所有像素的一维数组
int nx=2592;
int ny=1944//7776/3=2592步幅,即rgb交错
字节[,]数据=新字节[ny,nx,3];
对于(int j=0;j
它可能意味着图像测试图像=(图像)转换图像代码>。请注意,testImage
是在中使用
块声明的。我认为这越来越近了。现在我得到:无法将类型为“SpinnakerNET.ManagedImage”的对象强制转换为类型为“System.Drawing.Image”。将记住using块。它可能意味着Image testImage=(Image)convertedImage代码>。请注意,testImage
是在中使用
块声明的。我认为这越来越近了。现在我得到:无法将类型为“SpinnakerNET.ManagedImage”的对象强制转换为类型为“System.Drawing.Image”。将记住使用块。