当前位置: 首页 > wzjs >正文

乐清网站开发天津做网站比较大的公司

乐清网站开发,天津做网站比较大的公司,嘉峪关住房和城乡建设局网站,阿里云建立wordpress一、Opencv的作用 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Pytho…

一、Opencv的作用

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

二、Opencv的用途

PENCV的用途非常多,包括图像增强、人脸识别、目标检测、图像分割、特征提取、图层叠加等等。我们能够想到的一些图像处理的功能Opencv都能够帮我们实现。后面我们的课程会详细见到OPENCV的基础功能,并和RV1126的API结合在一起进行视频图像的处理。

三.什么是MAT

在OPENCV中,Mat是整个图像存储的核心也是所有图像处理的最基础的类

Mat主要存储图像的矩阵类型,包括向量、矩阵、灰度或者彩色图像等等。

Mat的对象可以分成矩阵头和矩阵数据两个大部分,矩阵头是存储图像的长度、宽度、色彩信息等头部信息;矩阵数据则是存储具体的图像数据。

若开发者想对OPENCV的Mat中的信息进行修改,则是改变像素信息的数据部分。

Mat的输出一般包含图像的宽度、高度、通道数量、通道深度、字节类

四.Mat的深度和字节类型

下面是Opencv的字节类型和通道数的定义

CV_8UC1:指的是一个8位无符号整型单通道矩阵

CV_16SC1:指的是一个16位整型单通道矩阵

CV_32FC1:指的是一个32位浮点型单通道矩阵

在OPENCV中通常分为四个通道和8种数据类型。分别是

单通道(灰度图)灰,度分为256个阶

双通道(二值图像,就是黑白图),每一个像素只有两个值分别是0和1,其中0表示黑色、1表示白色

三通道(RGB彩色图像)

四通道(带Alpha的四通道彩色图像)

五.Mat的创建和构造方法

Mat的创建一般分为五种方式

1.Mat(int rows, int cols, int type);

重载的构造函数,这个构造函数在创建的时候,提供矩阵的大小,分别是rows、cols以及存储类型type

rows行数,也指的是图像的高度,height。

cols列数,也指的是图像的宽度,width。

type通道类型,具体的看上面的图

示例:Mat t1 = Mat(300,300,CV_8UC1),这指的是创建一个width:300,height:300,单通道的灰度图像

2.Mat(Size size, int type);

重载的构造函数,这个构造函数在创建的时候,需要传入Size类和类型。

第一个传参:Size结构体,Size(width,height)

第二个传参:type通道类型,具体的看上面的图

示例:Mat t2 = Mat(Size(300,300),CV_8SC3),这指的是创建一个width:300,height:300,三通道的灰度图像

3.Mat(int rows, int cols, int type, const Scalar& s);

重载的构造函数,这个构造函数在创建的时候,提供矩阵的大小,分别是rows、cols、存储类型type、还有Scalar颜色标量。

第一个传参:rows行数,也指的是图像的高度,height。

第二个传参:cols列数,也指的是图像的宽度,width。

第三个传参:type通道类型,具体的看上面的图

第四个传参:Scalar颜色标量,Scalar(v0,v1,v2,v3),v0,v1,v2,v3分别对应OPENCV颜色分量的四个值

示例: Mat mat = Mat(300,300,CV_8UC3,Scalar(255,255,255));表示的是创建一个cols:300,rows:300,三通道的灰度,颜色标量为白色的图像

为什么是白色?

Scalar 本质是一个double类型的数组(通常为 1x4),用于存储 多通道数据

  • 在图像处理中,主要用于存储 B(蓝)、G(绿)、R(红)通道的值。

  • 其定义为,Scalar(b,g,r)或 Scalar(b, g, r, a)a 为 Alpha 透明度通道)。

  • 每个通道的值范围通常是 0-255(8 位无符号整数)。

  • B=255, G=255, R=255:表示蓝色、绿色、红色光的强度均达到 最大值
  • 当三种基本色光以 最高强度 混合时,人眼感知的结果就是 纯白色(如同显示器的白色区域)
  • scalar(0,0,0)这是黑色。

4.Mat::zeros(rows,cols,type);

重载的构造函数,这个构造函数在创建的时候,提供矩阵的大小,分别是rows、cols以及存储类型type。ZROS相当于创建一张黑色的图片,每个像素通道为0,并且Scalar(0,0,0)。

第一个传参:rows行数,也指的是图像的高度,height。

第二个传参:cols列数,也指的是图像的宽度,width。

第三个传参:type通道类型,具体的看上面的图

示例: Mat::zeros(300,300,CV_8SC3);,这指的是创建一个width:300,height:300,三通道的彩色图像,Scalar(0,0,0),相当于Mat mat = Mat(300,300,CV_8SC3,Scalar(0,0,0));也就是黑色图像。

5.Mat::ones(rows,cols,type);

重载的构造函数,这个构造函数在创建的时候,提供矩阵的大小,分别是rows、cols以及存储类型type。ONES相当于每个像素第一个通道为1,后面两个通道为0

第一个传参:rows行数,也指的是图像的高度,height。

第二个传参:cols列数,也指的是图像的宽度,width。

第三个传参:type通道类型,具体的看上面的图

示例: Mat::ones(300,300,CV_8SC3),这指的是创建一个width:300,height:300, 三通道的彩色图像,Scalar(1,0,0),这等同于Mat mat = Mat(300,300,CV_8SC3,Scalar(1,0,0));

六.imread与imwrite

在OPENCV中常用imread读取照片信息

Mat imread(const String& filename,int flag = IMREAD_COLOR)

参数:

        第一个参数:filename,图片的名称,名称可以是绝对路径也可以是相对路径

        第二个参数:flag标识符,标识符默认为IMREAD_COLOR。

              flag一般为三种:

                           IMREAD_UNCHANGED(<0)按原样加载图片(包括alpha通道(如果存在))

                           IMREAD_GRAYSCALE(0)将图像作为强度加载

                           IMREAD_COLOR(>0)以RBG格式加载图像

返回值:MAT矩阵

imwrite

1.使用默认方式的imwrite保存图像

Mat mat = Mat(300,300,CV_8UC3,Scalar(218,112,214))

imwrite(“文件文字如t0.jpg”,mat);

上面适用默认的方法保存图片,这种方法的所有参数都是默认选项

2.使用params的方式imwrite保存图片

Mat quality_frame1_mat=imread("t0.jpg");

std::vector<int>params={cv::IMWRITE_JPEG_QUALITY,40};

imwrite("mat_demo.jpg", quality_frame1_mat,params);

这种方法使用的是params参数的方式去设置,上面我们设置了图像的质量在40,如果像设置其他功能可以参考上面的枚举进行,经过编码质量40的处理后的图像的大小小于原来图像,这说明编码质量关乎着文件的大小和画像质量。

七.代码实战

vscode快速打开终端可以用快捷键ctrl+shift+~

结果为:t0、t1、t3、t4为黑色,t2为粉色,t5为蓝色


文章转载自:

http://Vh7WRFxV.ymmjx.cn
http://x4J3m2nS.ymmjx.cn
http://eQAemyyx.ymmjx.cn
http://FL19BSZd.ymmjx.cn
http://qTlCTPq9.ymmjx.cn
http://4pxfonmM.ymmjx.cn
http://N2rhs520.ymmjx.cn
http://McdjHI9C.ymmjx.cn
http://xHhdi4i9.ymmjx.cn
http://Z7um69yF.ymmjx.cn
http://6N1IGnFS.ymmjx.cn
http://d7Xr8Tsx.ymmjx.cn
http://uN0gFyGv.ymmjx.cn
http://WGzwtfxn.ymmjx.cn
http://OFa4Wvop.ymmjx.cn
http://d5i7ad7P.ymmjx.cn
http://MFPINDTk.ymmjx.cn
http://eILGnRNu.ymmjx.cn
http://1HTfAbda.ymmjx.cn
http://Kwh1PnE5.ymmjx.cn
http://eeQi7hOC.ymmjx.cn
http://lV97GxKN.ymmjx.cn
http://HqwEjBLn.ymmjx.cn
http://TsbOK2sq.ymmjx.cn
http://5BiGKGsk.ymmjx.cn
http://PsMs9lRO.ymmjx.cn
http://37iI0CvN.ymmjx.cn
http://AzSLh2PT.ymmjx.cn
http://mmsnH4yN.ymmjx.cn
http://BHfqThRA.ymmjx.cn
http://www.dtcms.com/wzjs/772176.html

相关文章:

  • 南宁网站建设哪家公司实力强学校网站网页设计
  • 京东做代码的网站吗做任务 网站
  • 网站建设教学大纲莱州木籽网络科技有限公司
  • 学校展示型网站建设方案书快速学做网站
  • 宇说建筑网站贵州企业网站建设设计
  • 网站建设模块方案书免费空间域名注册免备案
  • 南宁机关两学一做网站上海网站优化公司排名
  • 怎样看网站是谁做的软件制作专业
  • 做厂房的网站个人网站域名取名
  • 网站链接 动态图怎么做免费pc网站建设
  • 西安企业黄页网站猪八戒小程序开发报价
  • 网站建设 招聘阿里巴巴可以做网站吗
  • 电子商务网站建设与管理项目计划书手机网站怎么导入微信朋友圈
  • 做有搜索功能的网站北京视频直播网站建设
  • 免费网站素材下载齐齐哈尔建设局网站首页
  • 明星个人网站设计模板网站怎么做第三方登录
  • 柬埔寨网站开发58直聘招聘网
  • 网站开发php 图片上传失败wordpress视频无法播放视频播放
  • 做彩票网站是违法的吗开发平台的公司
  • 中型企业网站建设网站没备案怎么做淘宝客
  • 青岛网站制作价格免费网站制作成品
  • 旅游攻略网站做群头像的网站在线制作
  • 免费软件app网站下载大全在线正能量网站地址链接免费
  • 滁州网站建设费用杭州网站建设培训
  • 江苏省建设厅官网网站ppt模板下载免费完整版简约
  • 4网站建设哪里好点顺德网站设计制作
  • 阿里云服务器ip做网站PHP网站建设选择哪家好
  • 宁夏做网站公司电子商务网站建设的可行性分析包括
  • apmserv访问本地网站运动网站建设
  • 网站上的超链接怎么做网页版qq登录入口空间