让代码更简单

使用CogImageFile对象读取保存图像

重要:本文最后更新于2020-05-23 08:26:44,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

做视觉项目时,我们经常需要保存图像,以备查验。前面也讲过使用cogrecoreddisplay控件来实现保存图像的方法,具体查看这篇文章:VisionPro保存cogRecordDisplay图像。但我们不是一定会使用到cogrecoreddisplay控件,为了更加方便的保存图像,visionpro也提供了专门的方法,下面一起来看看。

C#代码

首先声明引用,并引入相关文件。

复制
using Cognex.VisionPro.ImageFile;

这里我只写了本文的核心引用文件,其它相关命名空间请参考前面的文章,或者自行查阅手册。

加载图像

复制
CogImageFile ImageFile1= new CogImageFile(); 
CogImage8Grey Image; 
ImageFile1.Open("c:\\image.bmp", CogImageFileModeConstants.Read); 
Image =(CogImage8Grey) ImageFile1[0];
ImageFile1.Close();

使用CogImageFile对象的open方法打开图像,注意第二个参数,CogImageFileModeConstants常量的read属性。

保存图像

复制
CogImageFile ImageFile2 =new CogImageFile(); 
ImageFile2.Open("c:\\image_copy.bmp", CogImageFileModeConstants.Write);
ImageFile2.Append(Image);
ImageFile2.Close();

保存图像主要使用CogImageFile对象的append方法插入图像。官方对于此方法的描述如下:

Appends an image to the end of an image file.

翻译为:将图像附加到图像文件的末尾。

注意:使用此方法加载或者保存图像,需要调用对象的close方法关闭,据我猜测应该是采用流的方式实现的。

感觉很棒!可以赞赏支持我哟~

10 打赏

评论 (5)

登录后评论
using Cognex.VisionPro.ImageFile;
CogImageFile ImageFile1 = new CogImageFile();
CogImage8Grey Image;
ImageFile1.Open("c:\\User\\PC\\Desktop\\图片保存\\image.bmp", CogImageFileModeConstants.Read);
Image = (CogImage8Grey) ImageFile1[0];
ImageFile1.Close();
CogImageFile ImageFile2 = new CogImageFile();
ImageFile2.Open("c:\\User\\PC\\Desktop\\图片保存\\image_copy.bmp", CogImageFileModeConstants.Write);
ImageFile2.Append(Image);
ImageFile2.Close();
代码不报错,运行也不报错,但是运行后没有文件夹内没有保存图片,Imagefile工具里需要设置什么吗?我选的类型是保存为数据库文件(第一次接触VP,大神别嫌烦)
ImageFile1.Close(); ⬅显然你要保存的图像被你提前释放掉了
Error-类、结构或接口成员生声明中的标记“(”无效,小白求告知问题出现的原因
没看到代码看不出错误。
ImageFile指令里面没有找到Open和append指令,代码就是和你上面一样的代码,是不是因为这个所以无效ImageFile指令里面没有Open和append指令,代码就是和你上面一样的代码,是不是因为这个所以无效,我是直接在脚本里写的
QQ咨询 邮件咨询 狗哥推荐