00:00
大家好,欢迎观看这一节的一个open CV的一个教程,这是第三节,这节讲的是怎么用数据去进行建立一张图片。我们进行数据限定的图片的话,需要使用一个,需要使用一个呃库啊,这个单派派,我们需要去把它进行一个引入。因为我在我们上一节我们知道就是图片就是数据组成嘛,对吧,然后这一节的话,我们就是怎么样去利用一个数据去把它去就是创造创建一个图片啊,怎么去创建一张图片,然后这一节的话需要使用这一个那派,我们那派的话就是没有的话,可以使用一个PIPI的一个命令pip install啊,然后去安装这一个,呃,那如果你使用这个的话,呃,你想安装什么东西,你只需要在pip到后面加上你的那个库名就OK了啊,后面是一个你的一个库的名称啊。
01:04
这时候在你的那个呃,CMDR这种控制这那个呃,那那个控制台那里去输入这条命令,然后就OK了啊,一般现在的pass版本都支持自带了这一个pap的这个工具。好,我们先看一下,就是我们南派的话,就是如果你引入进啊,你引入了南派啊,南派之后,然后啊,我这里是命名为NPNP它有个zero zero一个方法,它会创建出一个呃一个一维数据,或是一个数组这一个数据,然后我们可以也可以称它为一个矩阵嘛,对吧,然后比如说一个NP,这然后三的话,就表示创建一个有一维一维数组,然后它有三列,你看这它的数据有三列一呃三有三列这么个数据,如果你想创建一个三行两列的话,很简单。
02:04
啊,这里面有个用用一个方括号,或者是用一个呃圆括号这样写,然后也行,然后这样的话,他也去也可以创建一个呃,三行两列的一个数据,我们可以去进行一个。呃,可以看一下,我们可以看一下怎么样去做,嗯,这游戏啊,就是比如说我直接复制过来吧,我就不打了。直复制过来,比如说看一下啊,这里我是命名的一个单派,我们放大一点啊,这是一个单派as n p np.zero这个方法的话啊,你传入个三,它就会去创建一个一维数组啊,有三个数据啊NP.z然后三,然后你复制给一个变量,然后把我把输出啊输出可看下结果,这是第三个,你们看一下有点慢,我放数,我把我把这一个变大一点。
03:06
变大一点,变大一点。36就OK。啊,这样就OK了,然后后面这里数据是后面的,这不用理,这不用理,我们因为这之前写过的代码我们不用理了,我们重新运行一下,重新运行一下,然后这样的话就建出来一个一维三列的这个数据,然后这是一个南派啊,然后我们继续,然后这个南派的话,就是比如说有点串创建一个三行两列啊,只要这样传进去就OK了,这是它的一个结果。我们继续往下啊,我们可以它它它这个其实接收三个参数啊,就是第一个参数,你是指定它的一个形状,比如说你是一维的啊,你就传个三啊,如果你是两两维的,就三行两列吧,就这样对吧?啊,这个是传入这个数据,然后第二个参数呢,是表示它的一个类型,就是它的一个type啊,它你传入它生成的一个数组啊,这个矩阵它什么类型的啊,你可以传入这一个,因为我们要创建一个就是啊图片的数据嘛,啊,图片的数数据我们是NNT的一个一个八的一个类型,所以说我们把这个先写上,这样的话就创建出来这么一个。
04:19
这个类型的数据啊,三行两列,那接下来我们看一下啊,怎么样去创建一个三通道呢?因为我们图片三头有三个通道嘛,对吧?啊三个通道其实就是就是我们一维走这一行对吧。啊,我们两维多维的话,就是两维就是有两行了,对吧,那我们三维是怎么回事呢?我们三维的话,其实增加了它的一个厚度,我们可以这样理解,比如说就是就像一个XY嘛,啊,我们一个我们一个简单的一个是个线啊XY啊,但有三位是我们多了一个厚度,多一个厚度啊,多一个厚度Z或者是别的一个符号嘛,对吧?啊,像我们这个三通道,其实它也是这么一回事,它也是啊,像它也是等于是多了一个厚度啊,我们可以再去进行一个简单的一个理解啊,这样理解的话,其实对于我们之后,嗯。
05:09
学习的话可能会更加的去方便啊,因为现在说太多可能也不是很理解啊,你就当做是一个厚度,然后就OK了啊,这是一个三通道啊,这创建了这么一个数据,你看这是啊,1233个数据嘛,三个数据嘛,啊,但是它也是三维的123啊123是吧?啊OK,然后我们接下来之后呢,我们去怎么样创建一个呃图片呢,刚刚其实我们已经创建出一个图片的一个数据了啊,那我们怎么创建一张200乘200的一个一个数据呢?200乘200。200乘200啊,其实这样就OK了,200乘200啊,它的它的一个行和列就是200,然后它有三个通道,这个时候你就可以创建出一个数据,创建出一个图片数据,这个时候呢,比如说就是你用那个CVR的一个的一个方法,这这个方法是我们显示显示图片的方法啊,这个时候我先随便写命名一个窗口,然后把这一个date,这个date date然后传过来啊,因为它200乘200的一个数据,然后它三个通道的,这个时候呢,由于我们这个数据里面,这种它创建出来一个数据,永远它里面的都是零啊,它里面的数据都是零,那么零在我们的一个呃呃颜色里面表示的话,在这op CV里面啊,它就是一个黑,它零它就是黑色,所以这个时候我们就会显示出这么一张黑色的这一个图片,我们可以去去进的试去试一下啊,很简单的,比如说我这里删掉吧,就这就这样啊date。
06:45
啊,创建出一个200乘200的一个三通道这个数据,然后是这个n int的一个八的一个类型啊,然后我们把这个date传过来,用M的一个方法去把这个图片去进行个显示,然后我们去运行一下,这个时候它就会去显示数量图片啊,我没有加等待,稍等,稍等一会我们把这个放下来等待,等待我们的去进行一个关闭啊,这个时候就创建出一张啊黑色的这个图片。
07:15
啊,就很简单啊,很简单,然后接着往下啊,怎么创建白色的图片呢?其实这个时候我们需要用到一个方法,就是这一个万啊万万我们这有这有时的一个方法的话是,呃,创建一个零嘛,这个翻译过来它的中文就是零的意思嘛,啊这是这个零的一个方法,我们万时这个方法就是创建出啊,我创建一个图片,那么里面它的数据用于是一,比如说我创建一个三乘三的,三乘三的。3333的这一个二位数数啊,那么它的里面的值全部都是三啊,全部都一啊,OK,然后看一下我们的代码啊,看下我们的代码啊,出现一个200乘200的一个三的这个呃,三乘多少这个数据,然后它这个类型的,然后我们乘以二五的话,就等于是所有的数据都是一乘二五,都一乘二五,这个时候的话就是所有的所有的都等于二五了,那么它都是白色啊,我们零是零是零是黑,那么二五就是白,然后就把它显示,然后就OK了,我们看一下吧,我们先看一下,这时候我先把我先做个做做个对比吧,做个对比,比如说我们是。
08:26
嗯,把它删掉,我们把删掉,我们就先三三吧,333的,然后我们把这个打印出来,看一下到底是不是二,是不是一个一吧。你看一下啊,这个时候我们打印出来啊,啊,我再乘二五啊把它删掉啊,不做过多的这个嗯,东西大家全部都一用,One全部都一用,这时的话全部都零。啊,穷得零对吧,所以说我们零乘二五的话,用的都是零嘛,对吧,所以说呃,就不能够用零去乘,我们必须要用万这个方法去乘,我们乘出来这个的话,我们再进行一个M的这一个方法,这个时候就OK了。
09:11
这时候就是一个白的一个image啊,就是白的一个image,我们可以把它看一下。呃,Sorry,我13乘三很小,我200乘200吧,200乘200 200乘200,我看一下啊,这个是一个白,白色一张图片,白色图片,其实这这个方法其实挺简单的,挺简单的,然后的话,我们还可以去对图片去进行一个保存,我们保存的使用的这个方法是一个I',呃呃,写write这个方法写我们这后面是添加一个路径啊,我们保存在什么地方,然后这个date的话,就是我们这一个图片,我们这是一个图片,我们这图片保存到什么地方,我们很简单嘛,我们试一下。我们试一下,我们试一下,我们试一下,我们试一下,然后复制,复制过来试一下,好,我们这已经是一张白色图片了,这个时候我们直接保存吧,保存到我们的一个,我先看一下文件夹。
10:14
到这个地方吧,横到这地方,然后然后哎,是right不是,是不是不是这个啊是right right的话是。Right的话,懒得懒得打了的话,是这一个,我们把这个方法复制过来,I'm right,嗯,然后就去运行,这个时候呢,运行完之后,嗯,Sorry,我看我看一下。没有找到这个这个方法,哎,没有找这个方法'呃,我看一下复制过来。C。
11:01
谁对,有问题吗?我看一下I'right。啊啊啊,我是没有找到他吗?好像不是啊,好像不是啊,对对对,我知道哪错了,我知道哪里错了,你先把这个删掉吧,我们不显示,我不显示,我们直接保存吧,我们直接保存,我们直接保存。太太大了,太大了,太大了,太大了太大,OK这样就刚好是这样就应该没问题了,嗯啊为什为为什么会这样呢?为什么会这样呢?因为我们之前这这这个没有去,我们只是一个文件夹的名字,文件文件夹的这一个路径,并没有把这一个保存的名称给写上去,这个时候就会出错,这个时候就会出错,这个时候就会出错,我们看一下这个时候就会出错啊一样的,他这个时候就会出错。
12:09
啊,我们到时候保存的时候,必须要把这一个呃,保存名称也给写上去,我们看一下我们这个文件夹是否保存过来了,在这里是这个这个啊no nonononononono no no no no no,就是这个错错,我们是date image的PH啊我绑上桌面了,绑上桌面了不对,我先把这一个换一下,换一下换这个路径啊,然后我们看一下OK吗。那这个时候看一下啊,这带点image这个片距就出来了啊,这张图片啊,其实是挺简单的,这个如果不说算法的话,是单纯的去说这一个相关的这个,呃,使用中API的使用其是特别简单的这个OCV啊,我们下期再见,拜拜。
我来说两句