首页 > 其他分享 >OpenCvSharp 学习笔记1 -- 基本对象和常见操作

OpenCvSharp 学习笔记1 -- 基本对象和常见操作

时间:2023-02-25 16:45:46浏览次数:42  
标签:abc mat -- ImShow Cv2 笔记 OpenCvSharp new Mat

一 : Mat 对象的创建
OpenCvSharp 版本:v4.0.30319

mat 对象继承了 IDisposable 接口,可以直接用using 语句。
mat 对象的构造函数有十几个之多,我这里之列举常用的几个。
Mat 在C++ 中是一个矩阵变量,但是在 C#中是一个对象,只能 new
Mat是图形的基本对象,
1. 创建Mat对象并显示图像,控制下台记得加 Cv2.Wait(0)

 string picpath = AppDomain.CurrentDomain.BaseDirectory + "2.png";
using (Mat mat = new Mat(picpath)) {
       Cv2.ImShow("abc", mat);
//Cv2.WaitKey(0); //控制台下加这一行 等待 }

读取图片并显示

 Mat mat =  Cv2.ImRead(picpath);
Cv2.ImShow("abc",mat);

结果:

2、显示单通道灰度图像

 Mat mat = Cv2.ImRead(picpath,ImreadModes.Grayscale);
            Cv2.ImShow("abc", mat);

         

3、自定义图形

Scalar color = new Scalar(255,0, 0); //BGR颜色 蓝色

/*
* 参数:
* 1: 行 --指定图像的像素行数,多个行组成图片的高度
* 2: 列 --指定图像的像素列数,多个列组成图片的宽度
* 3: 对象类型,结构体类型 矩阵数据类型(深度和通道数) MatType
* 4: 图像颜色

* 5:CV_8UC3其中8是8bit图 U是无符号 C是color通道数为3

*/

Mat mat = new Mat(100, 100, MatType.CV_8UC3, color);
Cv2.ImShow("abc",mat);

4、创建与原图大小一致,类型相同的黑色图形 

  using (var src = new Mat(picpath, ImreadModes.AnyColor | ImreadModes.AnyDepth))
            using (var dst = new Mat(src.Size(), src.Type(), Scalar.All(0)))   //与原图大小类型一致 ,黑色
            {
                //dst.Create();//分配新的数据和类型
                Cv2.ImShow("abc",src);
                Cv2.ImShow("cde",dst);
            }

5、视频播放

 

标签:abc,mat,--,ImShow,Cv2,笔记,OpenCvSharp,new,Mat
From: https://www.cnblogs.com/boentouch/p/17154732.html

相关文章

  • SpringBoot
    springboot什么是springbootspringboot简介:Springboot是基于spring开发的,Springboot本身不提供spring的核心特性和拓展功能,只能用于快速,敏捷的开发新一代基于spring框......
  • 一次 gitlab 升级失败的处理过程记录
    这次升级是从15.8.3升级至15.9.1,通过下面的rpm安装命令进行升级rpm-Uvhgitlab-ce-15.9.1-ce.0.el7.x86_64.rpm升级过程中卡在gitlab::database_migrations很......
  • SwiftUI iOS 16 新的导航类型
    弃用NavigationViewiOS16,iPadOS16,macOS13之后,Apple优化了导航行为,将NavigationView细分为NavigationStack和NavigationSplitView。如果是开发单列的页面(通常......
  • 概率论--极大似然估计法
    求解极大似然估计值的步骤1.把所有的函数值相乘2.两边取lnx3.求偏导求偏导的时候令该偏导值等于0,解出该参数的值就为估计值连续性的求解方法和离散型一样......
  • Activity创建和跳转
    首先,在layout目录下创建XML文件方法一:方法二:快速创建Activity能够在清单文件上的activity自动配置Android:MainActivity3  创建与文件对应的Java代码创建并在acti......
  • 第二周开课博客
    本人现是石家庄铁道大学软件工程的一名学生。现状:对于学期javaweb的相关知识,掌握不好。能力不强。经验:观看黑马程序员,菜鸟网站等学习途径。计划:在这一个学期要掌握java......
  • 按揭贷款计算器
     分享一个之前看到的房贷按揭贷款计算器,也许某天能用上!!!原代码面是从 招商银行 某个网站上找到的.   源代码:1<!DOCTYPEhtml>23<html>......
  • 小白成神day4
    用户交互Scannerscanner对象来获取用户的输入Scanners=newScanner(System.in);通过Scanner类的next()与nextLine()方法来获取输入的字符串,在读取之前一般使用hasN......
  • java security 详解_Spring Security入门教程
    SpringSecurity的简单使用简介SSM整合Security是比较麻烦的,虽然Security的功能比Shiro强大,相反却没有Shiro的使用量多SpringBoot出现后简化了Spring系列的配置......
  • Windows wsl2安装Docker
    wsl2的Ubuntu安装好后,就可以安装Docker了。由于众所周知的原因,国内访问国外的某些网站会访问不了或者访问极慢,Docker的安装网站就在其中。所以推荐使用阿里的镜像进行安......