emgucv 图片加载、类型转换
时间:2022-07-23
本文章向大家介绍emgucv 图片加载、类型转换,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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;
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace WindowsFormsApp17
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string strFileName = string.Empty;
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
Mat img_to_mat = new Mat();
Image<Bgr, Byte> img = new Image<Bgr, Byte>(ofd.FileName);
Mat img1 = CvInvoke.Imread(ofd.FileName, Emgu.CV.CvEnum.LoadImageType.AnyColor);
var image1 = CvInvoke.Imread(ofd.FileName, LoadImageType.Color); //从文件中读取图像
img_to_mat = img.Mat;
//CvInvoke.Imshow("img1", img);
//CvInvoke.Imshow("img2", img1);
//CvInvoke.Imshow("img3", img_to_mat);
Image<Bgr, byte> image = new Image<Bgr, byte>(200, 300, new Bgr(0, 0, 255));//创建一张 200 * 300 尺寸颜色为红色的图像。
pictureBox1.Image = image.Bitmap;
Mat scr = new Mat(ofd.FileName, Emgu.CV.CvEnum.LoadImageType.AnyColor);
//指定路径加载图片。(如果Op.FileName 含有中文路径Mat 类是打不开文件的,但是Image<TColor, TDepth> 类却可以。)
imageBox1.Image = scr;//显示加载完成的图片。
Matrix<Byte> mat1 = new Matrix<byte>(new Size(200, 300));
for (int i = 0; i < 300; i++)
for (int j = 0; j < 200; j++)
mat1[i, j] = 100;
imageBox2.Image = mat1.Mat;
mat1.Save("mei.jpg"); //图片
img.Dispose(); img1.Dispose();
CvInvoke.WaitKey(0);
}
}
}
}
运行结果:
- WPF 跳动的文字
- Sql批量修改帝国cms文章发布时间(需unix时间,否则会变为1970-01-01)
- socket 通信 多线程调用窗体(委托)的几个知识点,记录在案,以备查阅
- 微信公众平台改版 终于支持图文消息链接了
- 机器学习黑客系列:模型比较与选择
- asp.net :使用jquery 的ajax +WebService+json 实现无刷新去后台值
- 用A标签实现页面内容定位 点击链接跳到具体位置
- Seq2seq模型的一个变种网络:Pointer Network的简单介绍
- 框架设计原则和规范(三)
- 微信推广功能支持图片广告和投放外链广告
- PHP 高级编程之多线程
- 框架设计原则和规范(四)
- python 函数参数的传递(参数带星号的说明)
- 微信公众平台增加更多统计项 让你更了解运营数据
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- springmvc实例之修改雇员相关信息(四)
- 基于TypeScript封装Axios笔记(六)
- 蓝桥杯 k好数 java版
- 强烈推介的几个微信小程序开发小技巧,简单又实用
- 【pytorch-ssd目标检测】验证自己创建的数据集
- django-模板之自动转义autoescape(八)
- 【pytorch-ssd目标检测】测试自己创建的数据集
- 【pytorch-ssd目标检测】训练自己创建的数据集
- SwiftUI:更高级的 MKMapView
- spring AOP之重用切点表达式
- springmvc之处理模型数据SessionAttributes注解
- Spring BeanUtils属性copy
- 【pytorch-ssd目标检测】制作类似pascal voc格式的目标检测数据集
- 【pytorch-ssd目标检测】可视化检测结果
- 文件I/O