看到论坛里有这个帖子,但是要收币看不了,于是自己研究了一下。希望大家开源{:1_361:}
其实cogRecordDisplay工具是自带图像转换方法的,用bitmap接受一下这个图像,再保存一下就好了。如下:
Bitmap mBitmap=new Bitmap(cogRecordDisplay1.Image.ToBitmap());//cogRecordDisplay1即窗体中显示图片的控件
mBitmap.Save(@"C:\temp\1.jpg",ImageFormat.Bmp); //也可以保存成 ImageFormat.Jpeg格式,会压缩,体积小一点
但是这种方法保存的Bmp图片在VPP中不能直接处理,需要使用CogImageConvertTool将其转换成类似Cog8grey这种类型的才能处理。
这时可以使用cogImageFile 方式保存,我写了个方法:
//image参数即要保存的图片,path是保存的路径。
public string SaveImage(ICogImage image, string path)
{
if (image == null)
{
return "NoImage";
}
string imagePath = path + "\\" +"1.bmp";
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
CogImageFile cogImageFile = new CogImageFile();
//打开一个图像文件。
cogImageFile.Open(imagePath, CogImageFileModeConstants.Write);
//将图像添加到文件的末尾。
cogImageFile.Append(image);
//关闭一个打开的图像文件。
cogImageFile.Close();
return imagePath;
}
引用的命名空间:
using Cognex.VisionPro.ImageFile;
using Cognex.VisionPro;
程序集:
Cognex.VisionPro.dll
Cognex.VisionPro.Core.dll
Cognex.VisionPro.ImageFile.dll
调用示例: SaveImage(cogRecordDisplay1.Image, @"C:\temp\");
|