C#保存图片到文件夹区分8位和24位

本文详细介绍了使用Cognex视觉系统保存图像的两种方法。第一种方法适用于保存显示图像,包括增加结果到界面上的数据,通过CreateContentBitmap创建24位位图并保存。第二种方法适用于保存输入进来的8位位图,可用于再次取像分析,通过CogImageFile或直接操作CogImage8Grey实例实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.保存图像--24位位图(显示的图像,包括增加结果到界面上的数据)

            Image image2 = default(Image);
            image2 = cogRecordDisplay1.CreateContentBitmap(
                Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Image, null, 0);

            image2.Save(@"D:\Savemap\" + DateTime.Now.ToString("yyyyMMddhhmmssff") + ".bmp", ImageFormat.Bmp);

2.保存图像(输入进来的图像,8位位图,可用作再次取像分析)

 第一种方法:
CogImageFile image1 = new CogImageFile(); image1.Open(@"D:\Savemap\"+ DateTime.Now.ToString("yyyyMMddhhmmssff") + ".bmp",CogImageFileModeConstants.Write); image1.Append(imageFormInput); image1.Close();

第二种方法:

CogImage8Grey cogimage8grey = new CogImage8Grey();
cogimage8grey = imageFormInput as CogImage8Grey;
SaveCognexImage(@"D:\Savemap\" + DateTime.Now.ToString("yyyyMMddhhmmssff") + ".bmp", ref cogimage8grey);


public void SaveCognexImage(string fileName, ref Cognex.VisionPro.CogImage8Grey image)
{
try
{
int W = image.Width;
int H = image.Height;
Cognex.VisionPro.ICogImage8PixelMemory tM = image.Get8GreyPixelMemory(Cognex.VisionPro.CogImageDataModeConstants.Read, 0, 0, W, H);
Bitmap grayscale = new Bitmap(tM.Width, tM.Height, tM.Stride, PixelFormat.Format8bppIndexed, tM.Scan0);
Bitmap bitmap = new Bitmap(1, 1, PixelFormat.Format8bppIndexed);
ColorPalette palette = bitmap.Palette;
for (int i = 0; i <= bitmap.Palette.Entries.Length - 1; i++)
{
palette.Entries[i] = Color.FromArgb(255, i, i, i);
}
bitmap.Dispose();
grayscale.Palette = palette;
grayscale.Save(fileName, ImageFormat.Bmp);
tM.Dispose();
}
catch
{
}
}






 

转载于:https://www.cnblogs.com/Hooper_he/p/9714212.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值