- 博客(52)
- 问答 (1)
- 收藏
- 关注
原创 OpenCV学习笔记5——图像的数值计算
对比前后输出的两个二维列表可以发现,列表中的每一个值都加了10,但有的直接变成了个位数。这个报错的意思是,在执行img1+img2的代码时,程序发现用来相加的两个数组高度、宽度不一样,所以没有办法相加。但是很明显,这样的图像相加并没有满足我们的要求,得到的图像都没法看。这里,前面的步骤与上面一样,这里多读进来一张图片,并将两张图片直接相加,结果赋值给img3,并将img3显示出来。这256个值中选择一个,但254+10=264,已经超出了255的范围,所以在求余256后得到了新的图像值。
2024-10-18 06:53:27 792
原创 FL studio1——手把手教你写歌,从作曲到发布一条龙服务
FL Studio编曲软件即“Fruity Loops Studio”,简称FL,也就是国人众所熟知的水果编曲软件,圈内用户习惯叫它“水果”。它是一个全能音乐制作环境或数字音频工作站(DAW)。FL Studio可以进行编曲、剪辑、录音、混音,让你的计算机变成全功能录音室,帮助你制作出属于自己的原创音乐。
2024-09-13 21:57:20 1895
原创 机器学习1——手把手教你用Python跑一个线性回归模型
其中,“x_train”代表训练数据的输入特征,“y_train”代表输入数据的目标值,与前一个“x_train”对应。这个函数最少需要传入两个函数,“start”是序列的起始值,“stop”是序列结束值,如果后面的“endpoint”参数为True,则将结束值包含在序列中,否则不包含。“回归模型”其实就是指通过一个给定的数据集来预测值的模型,比较类似于初中时的给几对(x,y)数据求函数表达式,并依据表达式预测出剩余x所对应的y。而且,问号的值也不会是确定的,而是需要根据结果不断调整参数,达到预测的目的。
2024-09-08 11:03:33 1949
原创 Arduino学习笔记3——LED闪烁
点击“文件”——“示例”——“Basics”——“Blink”打开Blink示例程序。Blink有眨眼、闪亮之意,程序实现的功能也与之类似,可以让板子上的L灯以1秒为间隔点亮熄灭。
2024-08-07 18:43:43 582
原创 Arduino学习笔记2——初步认识Arduino程序
在Arduino中,存在多种不同的数据类型,我们需要创建不同类型的变量来存储。变量类型有整型、浮点型、字符型等等,变量的声明语法与C语言相同。在Arduino中,变量的命名不能出现空格,必须是连贯的字符组成,如有需要使用空格的地方可以使用下划线代替。变量开头的只能是字母或者下划线,组成变量的元素只能是字母、数字、下划线。变量命名不能使用保留字(即敲出来后自动变为青绿色的字)。在Arduino中,如果一开始不为变量赋初始值,那么默认为0。变量的命名要尽可能体现变量的作用。
2024-08-07 16:32:03 374
原创 Godot学习笔记8——PONG游戏制作
PONG是1972年由雅达利公司推出的游戏,主要玩法为玩家控制两个可以上下移动的板子击打屏幕中不断运动的球。
2024-08-06 19:20:42 1337
原创 Godot学习笔记7——Input单例与自定义单例
我们也可以在项目中自定义一个单例,只需要在项目文件中新建一个脚本,并写入如下代码:接着,我们来到“项目”-“项目设置”-“自动化加载”,将我们的脚本加入进去:点击路径右侧的文件夹按钮即可选择脚本,在节点名称处可以自定义名称。接着,我们在刚才“Sprite2D”挂载脚本下写下如下代码:运行后可以看到,它将a变量所代表的值和b函数都执行了一遍。
2024-07-30 17:53:14 327
原创 Godot学习笔记6——数组和for
在Godot中,定义一个数组的关键字也是“var”,数组里面的内容使用方括号括起来。在没有限定类型时,我们可以放入任何类型的数据:我们甚至可以将另一个数组放入此数组中:和其他类型的变量类似,我们可以将变量强制定义为数组,不允许存放其他数据,只需要在变量名后加冒号和数据类型即可:我们也可以规定数组中只能存放的数据类型,比如这里我只想让数组中存在整型,那么就在后面加上方括号,里面写“int”:可以看到此时出现了报错,因为数组中存放了不是“int”型的数据。
2024-07-29 23:09:41 606
原创 Arduino学习笔记1——IDE安装与起步
快捷钮, 将鼠标放在每个钮上即可获知当前按钮的名称,分别是“验证”(运行代码并翻译为电脑能读懂的内容)、“上传”(将代码传到开发板)、“调试”(Uno不支持调试)、“串口绘图仪”、“串口监视器”程序编辑区域信息面板如果刚打开的IDE没有上述界面,那么点击一下验证钮,即可出现该界面。
2024-07-21 16:35:01 2585
原创 Godot学习笔记5——if和while
使用if可以在函数中设置情况分支,起到控制数据处理流程的作用。在Godot中,语法为if(条件):代码块例如:在这里,我们定义了两个变量,并在节点加载完成后判断两变量相加是否等于0.4,运行后可以看到,程序输出了“yes”。Godot与大多数编程语言一样,赋值为一个等于号,等于为两个等于号。我们修改一下两个变量的数字,再次运行,发现结果并不如我们期待的那样:可以看到,运行后,“yes”并没有被输出。这是由于计算器存储小数时会有一定误差导致的。
2024-07-21 10:09:30 679
原创 Matlab 2023b学习笔记2——变量与数据类型
Matlab中数据类型分为数字、字符与字符串、矩阵、元胞数组以及结构体。如果超出63为会被自动截断为63位,可能会造成一些不必要的麻烦。2.randn生成标准正态分布的伪随机数(均值为0,方差为1)可以看到,E矩阵前两维还是0矩阵,第三维变成了随机矩阵。1.rand生成均匀分布的伪随机数,分布在(0~1)之间。在Matlab中, 字符串或单个字符都用单引号括住。
2024-07-20 20:58:23 1226
原创 Godot学习笔记4——函数
在Godot中,我们使用“func”来定义函数,后面跟函数名、括号和冒号,下面一行缩进跟一个“pass”,这个“pass”并无任何意义,只是一个函数的结构。函数的命名规则与变量的命名规则一致,打头的必须是字母或下划线,组成元素必须为字母、数字、下划线。函数有三个关键信息,分别是输入信息、处理流程和处理结果。
2024-07-20 19:08:22 1591
原创 Godot学习笔记3——GDScript变量间的转换规则
在GDS中,我们使用“Vector2”来定义二维向量,用小括号括起来的两个浮点值,更改时对变量名.x或.y赋值即可:运行后可看到,v的值已经变为了(16,1),证明修改成功。
2024-07-20 10:54:50 1530
原创 OpenMV学习笔记4——二维码识别
在主函数中,我们依然是将捕获到的图像命名为img,“lmg.lens_corr”是执行镜头矫正,防止图像变形影响识别结果。函数原型为“img.lens_corr([strength=1.8[,zoom=1.0[,x_corr=0.0[,y_corr=0.0]]]])”,“img.find_qrcodes()”函数是在规定区域内寻找二维码,函数原型为“img.find_qrcodes([roi])”之后便是在寻找到的图像上画框,并将捕获到的“code”对象打印出来。
2024-06-03 17:42:06 895
原创 OpenMV学习笔记3——画图函数汇总
画图,即在摄像头对应位置画出图形,对于需要反馈信息的程序来说很直观。就如上一篇文章颜色识别当中的例子一样,我们在识别出的色块上画出矩形方框,并在中间标出十字,可以直观的看到OpenMV现在识别出的色块。
2024-06-02 22:02:54 907
原创 OpenMV学习笔记2——颜色识别
img.draw_cross(blob.cx(), blob.cy())”意思是在色框中间画一个十字,blob.cx()与blob.cy()指的是色块的中心位置坐标。如果这个色块是红色,那么它的code就是0001,如果是蓝色,那么它的code就是0010。需要注意的是,在颜色识别中一定要关闭白平衡和自动增益,如果打开的话会影响颜色识别的效果,可能会使颜色的阈值发生改变。比如,识别一个红色的圆,返回的blob.pixels()是目标圆的像素点数,blob.area()是圆的外接正方形的面积。
2024-05-29 21:35:26 2737
原创 OpenMV学习笔记1——IDE安装与起步
打开我的电脑可以看到,有一个新的U盘,这个就是OpenMV的Flash空间,打开后可以看到main.py,此时就是我们下载进去的程序。OpenMV的镜头是可以调整对焦的,只需要将镜头下方的锁焦环拧松,然后调整摄像头位置即可,一般最清晰的位置在底部偏上一些。它的下方是直方图,可以显示不同颜色的阈值,点击该窗口右上方的下拉三角即可切换不同的数据,包括RGB、灰度、LAB、YUV四种。跳过一些帧,跳过n张照片,在更改设置后,跳过一些帧,等待感光元件变稳定。左边最大的是代码编写框,需要在这里写代码。
2024-05-24 22:15:00 4043 2
原创 Matlab 2023b学习笔记1——界面认识
下载安装好Matlab后,可以看到如下界面:可以看到,这时只有命令行窗口。我们在上方工具栏中选择“布局”—— “默认”,即可看到左右两边多出来了“当前文件夹”与“工作区”两栏。
2024-05-20 20:15:12 1013
原创 【拯救大学牲】人民邮电出版社C语言程序设计第八章编程题答案(上)
i<30;i++)s += 2;a[i] = s;for(j = 0;j<30;j++)p++;sum = 0;p = 0;for(l = 0;l<6;;s++)j++;j = 0;for(o = 0;o<5;p<b;p++)
2024-05-02 18:44:24 1034 4
原创 【已解决】仅当从 VS 开发人员命令提示符处运行 VS Code 时,cl.exe 生成和调试才可用。
选择第一个“gcc.exe生成和调试活动文件”,点击,即可看到资源管理器中多了一个“.vscode”的文件夹。这是因为我们使用的生成和调试方式是cl.exe,我们需要更改到gcc.exe。此时,再次点击调试运行,即可看到运行结果。
2024-04-27 22:23:04 7603
原创 Godot学习笔记1——界面布局简介
这里我们点击左侧“3D场景”按钮创建一个3D场景,现在在中间的画面中会出现一个球。在左侧节点视图中选中“Node3D”,右键创建子节点,在弹出的窗口中选择“MeshInstance3D”,单击创建,即可在右侧查看创建的子节点属性。在属性栏第一栏“Mesh”中点击下拉三角,选择“新建BoxMesh”,即可在场景内新建一个没有材质的方块。此外,也可以在属性栏的“Transform”栏中输入数据来改变位置、旋转角度一集缩放。Godot引擎也是场景式编程,这里的一个场景相当于一个关卡。
2024-04-22 21:49:53 914
原创 江科大stm32学习笔记11——旋转编码器计次
旋转编码器,旋钮会不断接触断开触点产生电波。由于两个电波之间相差90°,即为正交波,一个电波处于高电平时另一个处于低电平,所以可以用来判断旋转方向。
2024-02-02 20:06:05 946
原创 江科大stm32学习笔记10——对射式红外传感器
上电之后可以看到对射式红外传感器亮两个灯,如果此时用挡光片挡住两个黑色方块中间的部分,则只亮一个灯。
2024-02-01 18:16:59 1147 1
原创 江科大stm32学习笔记9——OLED调试工具
OLED:有机发光二极管,供电3~5.5V,0.96寸OLED通信协议:I2C/SPI,分辨率:128*64。
2024-01-31 20:35:55 1992 1
原创 江科大stm32学习笔记8——光敏传感器控制蜂鸣器
接好线后上电,可以看到光敏传感器上亮了两个灯,如果只亮一个,可以尝试加大环境光照或者拿螺丝刀拧上面的蓝色方块。用手遮住前面的电阻只亮一个灯。编译运行成功后,即可通过遮住光敏电阻来控制蜂鸣器。光敏传感器上的AO不接。
2024-01-30 19:33:08 1089 1
原创 江科大stm32学习笔记7——按键控制LED
GPIO_ReadInputDataBit”是用来读取GPIO输入的函数,如果接入按键的引脚读取为0,那么代表按键被按下,此时先Delay20ms消抖,再进入一个while循环,当按键一直按下时就停在这里。“GPIO_ReadOutputDataBit”是读取GPIO输出端的函数,在“LED1_Turn”中,如果这个端口原来的输出是0,那么将它改变为1;回到keil,右键“Hardware”新建“LED.c”和“LED.h”,注意在新建时记得更改文件路径到“Hardware”文件夹。
2024-01-29 17:19:44 1004
原创 江科大stm32学习笔记6——GPIO输入准备
由于按键内部使用的是机械式弹簧片,所以在按下和松开时会产生5~10ms的抖动,需要通过代码来进行消抖。
2024-01-28 22:38:05 764
原创 江科大stm32学习笔记5——蜂鸣器
打开之后,我们只需要将“GPIOA”改为“GPIOB”,“GPIO_Pin_0”改为“GPIO_Pin_12”即可。将3-2文件夹复制粘贴一份,重命名为“3-3 蜂鸣器”编译运行成功后即可听到蜂鸣器在响。蜂鸣器选择有源高电平触发蜂鸣器。
2024-01-27 19:57:01 1074
原创 OpenCV学习笔记4——边界填充
第六行,我们将上、下、左、右所需扩宽的像素令为50(这个顺序不能变),接着调用“copycopyMakeBorder”函数,它需要六个参数:第一个是需要填充的图像,第二至第五个是上下左右所需要填充的像素数,第六个是填充样式。BORDER_CONSTANT:常量法,常数值填充。BORDER_REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制。BORDER_REFLECT_101:反射法,也就是以最边缘的像素为轴对称。例:cdefgh|abcdefgh|abcdefg。边界填充,即将图片扩大一圈。
2024-01-26 20:29:29 634 1
空空如也
如何使用opencv识别空心矩形
2024-10-27
关于#opencv#的问题:识别空心图形总是出错
2024-10-21
else后面的一大串是啥意思?
2023-10-28
关于#c语言#的问题:编译错误提醒我break不在循环里面(相关搜索:for循环)
2023-10-28
关于#c语言#的问题:为什么必须输入五个数才能输出最大的数啊
2023-10-23
对两个不相等列表使用sort排序之后为何会相等?(语言-python)
2023-07-27
python海龟绘图的setup()在结束时告诉我有错误
2022-01-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人