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

            Image image2 = default(Image);
image2 = cogRecordDisplay1.CreateContentBitmap(
Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Image, null, ); 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
{
}
}


C#保存图片到文件夹区分8位和24位的更多相关文章

  1. C#图片灰度处理(位深度24→位深度8),用灰度数组byte[]新建一个8位灰度图像Bitmap 。

    原文:C#图片灰度处理(位深度24→位深度8) #region 灰度处理 /// <summary> /// 将源图像灰度化,并转化为8位灰度图像. /// </summary> ...

  2. C#图片灰度处理(位深度24→位深度8)、C#图片二值化处理(位深度8→位深度1)

    C#图片灰度处理(位深度24→位深度8) #region 灰度处理 /// <summary> /// 将源图像灰度化,并转化为8位灰度图像. /// </summary> / ...

  3. 图像转置的SSE优化(支持8位、24位、32位),提速4-6倍。

    一.前言 转置操作在很多算法上都有着广泛的应用,在数学上矩阵转置更有着特殊的意义.而在图像处理上,如果说图像数据本身的转置,除了显示外,本身并无特殊含义,但是在某些情况下,确能有效的提高算法效率,比如 ...

  4. SSE图像算法优化系列四:图像转置的SSE优化(支持8位、24位、32位),提速4-6倍

    一.前言 转置操作在很多算法上都有着广泛的应用,在数学上矩阵转置更有着特殊的意义.而在图像处理上,如果说图像数据本身的转置,除了显示外,本身并无特殊含义,但是在某些情况下,确能有效的提高算法效率,比如 ...

  5. MD5值转换(Hex 32位 <-> base64 24位)

    关于MD5值的原理本文不在介绍,本文主要介绍MD5值的两种编码的相互转换(32位和BASE64编码的24位),实际应用过程中经常会涉及到两种编码的相互转换.快熟使用工具tomeko.net. C#示例 ...

  6. C#图片灰度处理(位深度24→位深度8)

    #region 灰度处理 /// <summary> /// 将源图像灰度化,并转化为8位灰度图像. /// </summary> /// <param name=&qu ...

  7. 怎么把PNG图的位深度24位变成32位

    在PS里把图片的变成层模式,不透明度设置成99%,在保存成PNG

  8. C++获取文件夹中所有文件

    获取文件夹中的文件,用到过很多次,每次用的时候都要去查下,很烦,所以想自己写下,当然,借鉴了很多其他大佬的博客 主要实现的函数,如下: void getFiles( string path, vect ...

  9. linux文件及文件夹权限

    以前上学的时候简单了解了下linux,现在对它的认识也只停留在一些小白命令上.以为我只要不是做服务器端开发的应该不会去碰吧,工作了才知道做开发的多少还是要熟悉一些linux的,至少你的项目会部署在li ...

随机推荐

  1. compare `lvs/haproxy/nginx`

    特性 LVS Nginx Haproxy 工作层 四层(传输层TCP/UDP) 七层(应用层) 四层.七层 应用范围 基于TCP和UDP之上的协议都可以 Http.mail HTTP.TCP之上应用 ...

  2. PHP使用Socket发送字节流

    例如,需要发送以下数据 struct header { int  type; // 消息类型 int  length; // 消息长度 } struct MSG_Q2R2DB_PAYRESULT { ...

  3. JavaScriptSerializer类序列化日期时需要注意的问题

    1.让我们来看看使用JavaScriptSerializer类序列化日期会出现什么问题? 1)创建用于序列化的测试类,如下: public class Person { public int ID { ...

  4. Java 8新特性--Lambda表达式作为返回值

    lambda表达式作为方法的返回值:

  5. drupal6提示 Compilation failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 9 on line 615

    解决办法:将sites\all\modules\ctools\includes\cleanstring.inc文件中的61行改成62行这样子即可,如下图

  6. Sublime Text 3 使用小记

    快捷键: [ // 代码对齐插件 { "keys": ["shift+alt+a"], "command": "alignment ...

  7. NumPy库的基本使用

    一.介绍 ——NumPy库是高性能科学计算和数据分析的基础包,它是Pandas及其它各种工具的基础 ——NumPy里的ndarry多维数组对象,与列表的区别是: - 数组对象内的元素类型必须一样 - ...

  8. 高效vim插件

    目录[-] 高效vim插件 插件管理利器 高效插件集 NerdTree snipMate tagbar jedi-vim eclim c.vim vim-colorschemes vim配置 一个实例 ...

  9. 使用JOSM编辑OpenStreetMap地图

    申明:转载请注明出处! 网上关于JOSM的使用大多只介绍了如何安装和优缺点,对于我这种小白完全还是不会,于是Google了一番,国外关于JOSM的使用的文章还是很多的, 选中一篇讲解的非常详细来翻译, ...

  10. 使用javap深入理解Java整型常量和整型变量的区别

    我下图代码第五行和第九行分别定义了一个整型变量和一个整型常量: static final int number1 = 512; static int number3 = 545; Java程序员都知道 ...