粉丝1831获赞2716

每期学习一个人工智能知识,图片的读取,那么好,接下来呢,我们就正式的来学习一下 open cv 这个库。 那么 open c v 呢?你导入的时候并不是直接写 open c v, 而是通过 import c v two 就可以了啊,通过 c v two, 注意好了,不是通过 open c v 啊,那么 open c v 读取一张图片,我们是通过 c v two 点 i'm read 来读取一张图片,因为 c v 图 open c v, 它专门用来处理图像,视频这一类的,因此呢, 它里面包含了很多读取图片的方法,例如这里的 i'm reach, 然后呢,后面你直接跟上需要读取的图片路径,例如我们当前文件夹下,注意好了,我们是当前文件夹下的图片,叫做这个,这个图片给读取进来了啊, 录取进来之后呢,我们打印了一下 print a, 那么好,我们把它进行一个中断啊,我们打上一个断点啊,然后呢,调试一下。 那么接下来呢,同学们就可以看到对应的 a 这个变量,它是什么样子呀? a 这个变量是一个 and re, 是代表囊派数据类型,对不对?我们把它打开,你看一看它的数据类型, 哎,这个类型啊,是一个 you int, 它是表示里面的每一个数据类型,但是我们总体的数据类型啊,它是一个 arrange, 就是数组类型,是囊派能够识别的数组类型。 然后呢,这里面的数据最小值是零,最大值呢,是二百五十五,为什么呀?因为图片里面读取进来的是一个矩阵,而图片的每一个通道的数值,他都是在零到二百五十五这个范围内。然后呢,我们可以看到这张图片读取之后呢 呢,它的形状,也就是 shape 是四百三,那么这里三就表示它有三个通道啊,然后呢这是宽度和高度,然后我们刚才讲的这个 e tap, 它是 it 八,就表示我们里面的每一个数据,这里的二百五十五万,我们可以打开啊看一看啊,你看看 一共有零一二,那么这个呢是表示一个通道的,这个呢表示一个通道,这个表示一个通道的数据啊,虽然很多是二百五十五,就是因为这张图片刚才这个边框啊很亮啊,很亮, 那么往下翻,下面会有一些其他的数据啊,哎,我们可以看到跳过去啊,里面啊一时找不到啊,里面是有其他的数据的,就是并不是全部都是二百五十五,他中间会有一些省略掉了,但是里面可以看到最小值呢是零,最大值是二百五十五,那么这呢就是通过 c 位 two 点 i'm read 来读取一张图片之后的返回数据对象,同学们一定要清楚的知道我们获取的这张图片之后他返回的是什么内容,因为后面我们要需要根据这个数据对象进行一系列的操作,一系列的处理。 那么这里还有一个参数 size, 这个 size 呢是表示图像的所有色素,就是所有的像素啊,一共有多少个数据?这里呢一共是有四十八万个数据, 就是因为呢他是三个通道,然后呢每一个图片呢都是四百乘以四百,所以一共呢是有四十八万个数值。很好啊,我们接下来呢再把这个图像就是读取到的 a 这个数据呢展现出来 啊,我们怎么样去让它显示出来呢?通过 cd two 点 i'm shoe 就可以来把一张图片显示出来,那么里面呢包含两个参数,第一个参数呢就是你显示的时候这个图像的名称。第二 第二个呢就是你要显示的内容,我们把 a 显示出来。好,我们直接来运行一下啊。嗯,好,直接运行, 一直行啊,同学们可以看到,呃,在整个窗口里面,刚才一闪而过,看不到东西,为什么呀?因为图像显示出来了,但是程序结束了,我们就自动会把这个窗口关闭掉了,因此在这里呢,我们加上一个 yk, 这个 yk 呢就会让你在这里等待,这里是毫秒啊,等待一百秒。 好,我们来运行一下。此时可以看到这张图片已经通过窗口的形式显示出来了,并且窗口的名字叫做潘长 logo, 就是我们自己这里写的。这个 logo 呢,你可以任意的去写啊,比如我们把它改一改 中文,不行啊,中文他有点乱码,比如我们写一个就写中文,一旦运行呢,他可能会有点乱码,你看这里啊,出现了一点乱码,也有办法可以修改,这个方法呢,我们后面再讲,先不讲那么多啊,关注我,学习计算机知识。

虽然安装 open cv 包的时候名字叫 open cv 干拍神,但在导入包的时候是写 input cvr。 为什么叫 c v r 呢?这里面的 r 并不表示 open c v 的版本号, open c v 是基于 c 或 c 加加的, c v 表示底层用的是 c 的 a p i c v r 表示使用的是 c 加加的 a p i。 这主要是一个历史遗留问题,是为了保持先后的兼容性,但为了方便,一般会这么写, 给他取一个别名,这样在打字的时候就可以少敲一个数字,不仅可以保护手指,还能提高效率。通过这行代码 就可以打印出 open cv 的版本号。恭喜你成功实现了 open cv 的第一次调用。刚才巴普老 是有剪刀, c v r 用的是 c 加加的 a p i, 它使用 nampad 来存储和处理图线,所以在安装 open cv 干拍层的时候,自动安装上的依赖库 nampad。 这时我们可以直接导入那么派的包,并打印出他的版本号。 南派又是什么东西?南派是派森专门处理高位数组的包,他用来存储和处理大型矩阵,比派森自身欠套列表结构要高效的多。另外针对数组运算提供大量的数学函数,苦真的又快又好用。

用欧本斯因为做一个打文字的游戏吧,带计时带,难以转换的那种,超级简单,共分七步,第一步,从网上搜索并下载素材,此文字图片,国文字图片,还有两个声音打空 命重。第二步,使用程序把偏偏加载起来。第三步,把声音加载起来。 第四步,边写一个通用的欧本 cb 框架,打开摄像头进行采集数据,同时把我们的文字加载进来,点击运行看文字。在这里。第五步,定义一个函数,测量手与摄像头之间的距离 啊,离近的是,离远了可以看到手与摄像头的距离会有变化,利用手掌的这个屏幕上的距离,处理摄像头与手之间的真实距离啊。进行一个 测量和一个数据的踩击,并用这个踩击的数据做一个多项式的礼盒,然后用这个多项式把摄像头采集到的手掌宽度映射到手掌离摄像头之间的真实距离。第六步,为了更好的人机交互,还需要让欧本 cv 支持中文输出,默认的欧本 cv 是不支持中文输出的。第一步可以看到 部分纤维输出了中文。最后一步,合并所有的功能点,再加上一些逻辑的判断,就最终实现了打文字的游戏, 还可以增加游戏的难度,让文字没有提示啊,你学会了吗?关注我,学习 a i 不迷路!

给大家推荐一个 opencv 的项目,代码量不大,只有四五百行,有 c 员的基础就能看懂。代码实现的是一个车道检测的功能,并且当车辆发生偏移的时候,能发出报警。 运行的环境中班图,当接触 oppo cv 的时候,很多同学卡在了环境这一块。推荐大家使用软件包管理工具去安装,就是直接安装别人编译好的二禁止包,这样不仅能节省时间,关键是可以避免编译的过程中出现的各种错误。 代码被我精减了一下,只剩下一百多行。过程也比较简单,读取视频里面的每一张图片,对图片进行一些基本的处理, 比如高思虑波堪例检测或复变换等等。这些处理看起来只是一个函数,但是如果你想去搞懂它,没有一定的数学基础,怕是搞不定。提取了车道线再进行分类处理,根据坐标判断车辆是否发生了偏。 这个代码非常适合刚入门图像处理的同学,如果你有需要评论区留言,原码我私信发给你。有了这个基础,你就可以把它加在智能小车项目上,通过摄像头采集数据分析得到结果,再给小车的控制单元发送指令。 有了图像处理,能开发的功能就更多了,比如行人检测、交通灯检测等等,这样做出来的小车是不是比寻记避障更加高端一些?
