MIL学习日志|MIL视觉基础加载和保存图像20220301

目录
一、MIL视觉常用五大对象
二、加载和保存图像的方法
三、程序代码
一、MIL视觉常用五大对象
MIL视觉常用五大对象

Application 开发的程序,用于控制和执行MIL程序的基础
System System代表为一个包含CPU或GPU、内存或显存和图像控制器的单元分配的一个虚拟访问对象
Digtizer 对相机的设置通过它来完成
Display 显示操作都由它完成
Data Buffer 图像数据的储存
二、加载和保存图像的方法
MappAllocDefault 分配默认应用
MdispAlloc 分配显示Display
MdispSelectWindow 选择窗口显示图像
MbufRestore 从本地读取一张图像分配于缓存中
MbufSave 保存图像至生成目录
MdispFree 释放Display内存资源
MbufFree 释放图像数据内存资源
MappFreeDefault 释放五类内存资源
三、程序代码
WinForm界面
MIL学习日志|MIL视觉基础加载和保存图像20220301
文章图片

Form代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; //引用MIL库 using Matrox.MatroxImagingLibrary; namespace Showpic_20220301 { public partial class Form1 : Form {MIL_ID milapplication = MIL.M_NULL; //程序标识符 MIL_ID milsystem = MIL.M_NULL; //系统标识符 MIL_ID mildisplay = MIL.M_NULL; //显示标识符 MIL_ID milimage = MIL.M_NULL; //图像缓存区标识符public Form1() { //窗体初始化 InitializeComponent(); //分配默认应用 MIL.MappAllocDefault(MIL.M_DEFAULT, ref milapplication, ref milsystem, MIL.M_NULL, MIL.M_NULL, MIL.M_NULL); //加载图像 showpic(); }/// /// 加载并显示图像 /// public void showpic() { //从本地读取一张图像分配于缓存中 MIL.MbufRestore("C:/Users/Asus/Desktop/guowei.jpg", milsystem, ref milimage); //MIL.MbufImport("C:/Users/Asus/Desktop/guowei.jpg", MIL.M_DEFAULT, MIL.M_RESTORE, milsystem, ref milimage); //分配显示display if (mildisplay != MIL.M_NULL) { MIL.MdispFree(mildisplay); }MIL.MdispAlloc(milsystem, MIL.M_DEFAULT, "m_default", MIL.M_WINDOWED, ref mildisplay); //选择窗口显示图像 MIL.MdispSelectWindow(mildisplay, milimage, this.Handle); //图像居中且自适应窗口 MIL.MdispControl(mildisplay, MIL.M_SCALE_DISPLAY, MIL.M_ENABLE); } /// /// 关闭窗口时释放缓存 /// /// /// private void forml_close(object sender, EventArgs e) { MIL.MbufFree(milimage); MIL.MdispFree(mildisplay); MIL.MappFreeDefault(milapplication, milsystem, MIL.M_NULL, MIL.M_NULL, MIL.M_NULL); } /// /// 自适应窗口大小 /// /// /// private void forml_sizechanged(object sender, EventArgs e) { this.Refresh(); } } }

Form1.Desinger代码
namespace Showpic_20220301 { partial class Form1 { /// /// 必需的设计器变量。 /// private System.ComponentModel.IContainer components = null; /// /// 清理所有正在使用的资源。 /// /// 如果应释放托管资源,为 true;否则为 false。 protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); }#region Windows 窗体设计器生成的代码/// /// 设计器支持所需的方法 - 不要修改 /// 使用代码编辑器修改此方法的内容。 /// private void InitializeComponent() { this.SuspendLayout(); // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); this.Name = "Form1"; this.Text = "gw"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.forml_close); this.SizeChanged += new System.EventHandler(this.forml_sizechanged); this.ResumeLayout(false); }#endregion } }

程序运行结果
MIL学习日志|MIL视觉基础加载和保存图像20220301
文章图片

参考原文MIL教程_文洲的专栏-CSDN博客MIL学习日志|MIL视觉基础加载和保存图像20220301
文章图片
https://blog.csdn.net/wenzhou1219/category_9262307.html
【MIL学习日志|MIL视觉基础加载和保存图像20220301】

    推荐阅读