- 博客(59)
- 收藏
- 关注
原创 机器学习1
机器学习的概念所谓的机器学习,就是让机器学会自动的找到函数或者解决方法,举例来说,语音识别(Speech Recognition)就是将输入的声音通过函数变化转变成符号输出,因为这样的函数太过于复杂,靠人工很难写出来,因此希望让机器通过学习可以自动找到这样的函数。而你所需要的函数不同,对机器学习的目标也就不同。输出的结果只有两种(yes or no)称为二分类输出(Binary Classification)输出结果有很多种(有限个制定好的选项)称为Muti-class Classifica
2020-08-27 17:10:18 263
原创 OpenCv学习0825,基于匹配算法的图像平滑拼接
图像的平滑拼接,基于的技术理论是特征匹配,将两张图重叠的地方特征匹配,选取强匹配特征点,根据选取到的匹配点,将图片进行形变,,然后复制到同一张图片上,实现拼接,最后对拼接处进行优化处理,使拼接处更加自然。听上去不难,实现还是不容易的。第一部分,特征点匹配,这部分直接采用特征匹配的相同方法即可//灰度图转换 Mat image1, image2; cvtColor(image01, image1, COLOR_RGB2GRAY); cvtColor(image02, image2, COL
2020-08-25 13:44:29 742
转载 转:基于特征匹配的图像拼接技术(SURF,SIFT,ORB,FAST)
https://www.cnblogs.com/skyfsm/p/7411961.html
2020-08-24 09:37:46 354
原创 OpenCv学习0818,特征提取匹配学习01
图像特征可以表达图像中对象的主要信息,并且以此为依据可以从其他未知图像中检测出相似护着相同对象常见的图像特征 边缘 角点 纹理 特征的提取与描述SIFT SURF HOG Harrs LBP KAZE AKAZE BRISKDDMDetection Description MatchingHarris角点检测角点是两条边缘的交点或者在局部邻域中有多个显著边缘方向的点。Harris角点检测是一种在角点检测中最常见的技术。算法基本思想是
2020-08-18 17:08:24 163
原创 OpenCv学习0817——初试匹配算法
在opencv4中,SIFT和SURF不在发布的release版本中了,这些方法被放入了opencv_contrib中,如果想使用需要自己编译到opencv,编译方法参考https://blog.csdn.net/Gordon_Wei/article/details/85775328代码实现void Demo::SURF_demo(Mat &image1, Mat &image2) { //创建提取特征点方法 Ptr<xfeatures2d::SURF> su
2020-08-18 09:35:33 236
原创 OpenCv学习0814
直方图均衡化OpenCV中直方图均衡化的API函数十分简单 equalizeHist(src, dst);只有输入src和输出dst对于直方图均衡化的原理,可以参考这篇文章直方图均衡化具体实现:由于这个函数只支持单通道,因此需要先将图片转换成灰度图片。 Mat gray; cvtColor(image, gray, COLOR_BGR2GRAY); Mat dst; equalizeHist(gray, dst); imshow("EQ His", dst);
2020-08-14 11:08:48 165
原创 OpenCv学习0813
视频文件及摄像头的使用这一段其实一开始就已经了解过了,这里算是复习一下视频的读取(从文件及摄像头)读取视频文件和摄像头,实际上只是修改cap文件的获取方式而已void Demo::video_demo(Mat &image) { VideoCapture cap1(0); //打开摄像头 VideoCapture cap2("视频文件路径"); //读取视频文件 Mat frame; //创建一帧 while (true) { //cap >>
2020-08-13 13:35:19 157
原创 OpenCv学习0812
图像像素的类型转换与归一化在计算机中,图像的默认存储格式是8位,在OpenCV中,可以将图像的数据类型进行转换,也可以将数据的取值空间进行转换,即将0-255的范围压缩为0-1的范围内,称为归一化。数据类型的转化和归一化的关系实际上数据类型转换是为归一化做准备的,试想一下,将一个整形的数据(0-255)压缩为0-1的范围,那么势必会出现变成浮点数,而这个时候如果数据的类型还是整形,那么小数点后的内容就会被省略,归一化就无法完成了,数据类型的转换就是为了这种情况准备的。以下是Mat的数据类型和
2020-08-12 11:39:26 167
转载 OpenCV数据类型
OpenCV有很多数据类型,从组织结构的角度来看,OpenCV的基础类型类型主要分为三类。第一类是直接从C++原语中继承的基础数据类型;第二类是辅助对象;第三类是大型数据类型。本文主要介绍OpenCV的基础数据类型。目录Point类Scalar类Size类Rect类RotatedRect类固定矩阵类固定向量类复数类Point类cv::Point类是两到三个原语类型的容器,其成员是通过变量名称x、y、z访问的,而不是通过下标访问。Point类是通过自己的模板派生来的
2020-08-12 09:32:12 782
原创 OpenCv学习0811
在OpenCV中绘制几何形状void Demo::drawing_demo(Mat &image) { Mat bg = Mat::zeros(image.size(), image.type()), dst; //矩形 Rect rect;//可以用Rect定义矩形 rect.x = 200;//矩形左上角的坐标 rect.y = 200;//矩形左上角的坐标 //注:坐标系是以左上角为原点,右下角为正方向 rect.width = 80; rect.height = 8
2020-08-11 11:53:44 255
原创 OpenCv学习—获取图像矩阵某点的值或改变某点的值
Mat::at()对于单通道图像的使用方法: image.at<uchar>(i,j) = 255;对于RGB三通道图像的使用方法: image.at<Vec3b>(i,j)[0] = 255; image.at<Vec3b>(i,j)[1] = 255; image.at<Vec3b>(i,j)[2] = 255;Mat的模板子类Mat_&l...
2020-08-10 15:45:00 712
原创 OpenCv学习0810
TrackBar滚动条void Demo::tracking_bar_demo(Mat &image) { namedWindow("亮度调整", WINDOW_AUTOSIZE); int lightness = 50; int max_value = 100; createTrackbar("Value", "亮度调整", &lightness, max_value, on_track,(void*)(&image)); //trackbar窗口名称,要改变的窗口
2020-08-10 15:43:11 302
转载 OpenCv学习—HSV模型
HSV颜色模型HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。、这个模型中颜色的参数分别是:色调(H),饱和度(S),亮度(V)。色调H:用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;饱和度S:取值范围为0.0~1.0;亮度V:取值范.
2020-08-10 14:32:20 716
原创 OpenCv学习0807
Mat的创建与赋值 //拷贝 Mat m1, m2; m1 = image.clone(); image.copyTo(m2); //创建空白图像 Mat m3 = Mat::zeros(Size(8, 8), CV_8UC1);遍历像素int w = image.cols;//宽度 int h = image.rows;//高度 int dims = image.channels();//通道数 for (int row = 0; row < h; row++
2020-08-07 17:09:04 164
原创 OpenCv学习0806
学习如何在内存中存储图像,以及如何将图像的内容打印到控制台MatMat是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。矩阵头的尺寸是常数值,但矩阵本身的尺寸会依图像的不同而不同,通常比矩阵头的尺寸大数个数量级。因此,当在程序中传递图像并创建拷贝时,大的开销是由矩阵造成的,而不是信息头。OpenCV是一个图像处理库,囊括了大量的图像处理函数,为了解决问题通常要使用库中的多个函数,因此在..
2020-08-06 22:24:05 128
原创 unity从0开始摸鱼日记34,ugui,用滑块控制小球旋转
5月25日计划制作一个旋转的方块,用滑块控制旋转速度,用按钮控制开始停止首先简单实现小球旋转部分函数public bool isRo = true; public float speed = 10; public float x = 0; // Start is called before the first frame update void Start() { } // Update is called once
2020-05-25 21:20:35 351
原创 unity从0开始摸鱼日记33,ugui,监听按钮的点击事件
5月24日当点击按钮的时候,执行相关操作,比如说,点击开始按钮,开始游戏创建一个空物体,作为ui的控制脚本载体添加一个游戏开始的简单脚本public void OnStart(string SceneName) { Application.LoadLevel(SceneName); }}然后将脚本挂载到相关按钮上,具体做法是在button上的button组件中,有on click功能,在这之上可以添加在点击时需要触发的脚本,以及指定参数等..
2020-05-24 19:27:27 261
原创 unity从0开始摸鱼日记32,学习UGUI,1
5月14日进行学习ugui的学习这是一个UGUI的学习整合https://blog.csdn.net/weixin_38211198/article/details/89633714?ops_request_misc=&request_id=&biz_id=102&utm_term=UGUI&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-896337
2020-05-14 11:22:22 214
原创 unity从0开始摸鱼日记31,销毁所有敌人,清屏
5月9日做一个清屏大招,消除当前所有敌人由两部分组成,一个是销毁所有敌人,一个是伴随摄像机抖动的特效先做简单的,销毁所有敌人用findgameobjectsbytag,获取所有敌人,然后销毁GameObject[] allEnemy = GameObject.FindGameObjectsWithTag("Enemy"); for(int i= 0; i < allEnemy.Length;i++) { Instantiat
2020-05-09 13:58:47 1062
原创 unity从0开始摸鱼日记30,道具的随机生成
5月7日在场景内随机生成道具void Update() { creatTime += Time.deltaTime; if (creatTime >= 8) { creatTime = 0; creatStage(); } } void cre...
2020-05-07 15:13:54 579
原创 unity从0开始摸鱼日记29,受击的判定,功能性道具
5月6日过了一个愉悦的五一假期呢在敌人攻击到玩家本体而非挡板时,扣除血量,并销毁敌人对敌人做碰撞检测,用sendmessage函数向玩家发送受击指令 if(collision.transform.tag == "Player") { collision.gameObject.SendMessage("getHit"); ...
2020-05-06 19:22:55 21562
原创 unity从0开始摸鱼日记28,敌人的制作
4月29其实昨天就写好了,太晚了没码字首先敌人有两个状态,进攻转态和友军状态,当被挡板反弹后,敌人转换为友军状态(绿色),此时可以攻击进攻状态的其他敌人,其他敌人撞到这样的友军会被销毁,当碰到墙壁后,会再次变成进攻状态,自动锁定玩家状态转换private void OnTriggerEnter2D(Collider2D collision) { if (c...
2020-04-29 12:17:23 252
原创 unity从0开始摸鱼日记27,新的构思,几何类型
4月25日之前的demo也告一段落了,这次尝试做一个俯视类型的几何画风游戏,毕竟对于美术功底差的我这种是最适合的了让玩家朝向始终为鼠标朝向位置void changeTran() { Vector2 MouseAfter = Camera.main.ScreenToWorldPoint(new Vector2(Input.mousePosition.x, Inp...
2020-04-26 18:14:16 180
原创 unity从0开始摸鱼日记26,移动平台
4月19日平淡的封闭生活实现空中的浮动平台void Update() { transform.position = Vector2.MoveTowards(transform.position, movePoint[i].position, speed * Time.deltaTime); if (Vector2.Distance(transf...
2020-04-19 19:22:17 192
原创 unity从0开始摸鱼日记25,人物变色
4月18日根据剩余跳跃次数改变人物颜色需要注意的是,在使用RGB调色时,需要除以255,因为是用0-1的浮点数来表示的private void changeColor() { if (jumpCount == 2) { sp.color = Color.white; } else if (...
2020-04-18 15:12:44 249
原创 unity从0开始摸鱼日记24,冲刺残影
4月16日打算给冲刺加一个特效,在身后留下残影基本思路是,在身后创建若干个玩家的复制体,并且逐渐变透明消失在这里参考了一篇对象池(ObjectPool)的文章ObjectPool(对象池)对象池对象池是一种动态调用物体的结构。在对象池中物体被保存在一个容器中,并且实现物体的自动显示、运行和回收。需要使用物体时将物体移出对象池,令其使能;物体功能完成后自动将物体回收至对象...
2020-04-16 17:50:45 305
原创 unity从0开始摸鱼日记23,movement
4月16日movement的关键是通过接触的判断来对玩家的不同状态进行判定,比如说,在墙上,不在墙上,在地面上,不在地面上,是否在冲刺,对状态区分的细致程度决定了你游戏的操作手感using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public clas...
2020-04-16 11:11:29 323
原创 unity从0开始摸鱼日记22,协程IEnumerator
4月15日学习IEnumerator的使用,这个似乎是小白到入门进阶的一个门槛首先,协程是什么?从程序结构的角度来讲,协程是一个有限状态机,这样说可能并不是很明白,说到协程(Coroutine),我们还要提到另一样东西,那就是子例程(Subroutine),子例程一般可以指函数,函数是没有状态的,等到它return之后,它的所有局部变量就消失了,但是在协程中我们可以在一个函数里多次返回...
2020-04-15 18:52:21 178
原创 unity从0开始摸鱼日记21,新的demo
4月9日整了一个2D横版demo移动控制还是老样子,主要是进一步完整先从动画开始,将动画素材导入然后设置状态机,将各个动画之间的转换条件设置好接下来是代码实现if(rb.velocity.x <= 1f&& rb.velocity.x>=-1f) { ani.SetBool("IsRun", false)...
2020-04-15 00:59:08 107
原创 unity从0开始摸鱼日记19,添加音效
4月4日今天心情有点差,突然不想开学了试着给游戏添加音效,撞击时给他来个“欧拉!”,死亡时给他整个“木大!”,背景音乐加白金之星处刑曲...
2020-04-06 15:32:58 244
原创 unity从0开始摸鱼日记17,生命值及生命值的增减
4月2日快开学了快开学了今天个他加生命值系统,生命值会随着时间减少,碰撞小球会得到回复在update中hp -= Time.deltaTime*2;在碰撞检测中if (collision.gameObject.tag == "Enemy") { if (hp <= 90) hp += 10;...
2020-04-02 15:22:26 1221 1
原创 unity从0开始摸鱼日记17,尝试制作特效
3月30日想加点炫酷的特效,有一说一先转载一篇关于粒子特效的详解unity粒子特效最终还是完成了,在脚本中调用播放 else if(collision.gameObject.tag == "Death") { Destroy(this.gameObject); isDeath = true; ...
2020-03-30 18:18:37 170
原创 unity从0开始摸鱼日记16,生成敌人
3月30日今天的工作是在摄像机视野内生成敌人目前脑子里还只有一个模糊的思路,在玩家身上创造一个脚本用来生成敌人,测得摄像机的视野范围是,以玩家为中心,横坐标为正负40.纵坐标为正负15的一个矩形范围,只需要在这个范围内生成敌人就可以了,但是玩家的位置是不停变化的,所以这个矩形框的范围也在不停变化参考了一个大佬的写法,完成了这个功能void Update() { ...
2020-03-30 16:44:21 370
原创 unity从0开始摸鱼日记15,继续增加功能
3月28日今天去吃了一顿大渝火锅,属实舒服准备继续完善小球的视觉效果,在高速移动时改变小球形状,发射时时间减慢变形这部分,我首先就想到在update中加一个函数,根据速度调节形状初版本是这样的:首先这个函数要在fixedupdate中执行,不然帧数不够会导致卡顿,在每次update的最后获取一次物体的速度,这样下次执行变形函数的时候可以调用前一帧的物体速度,然后获取这一帧的速度,对...
2020-03-28 23:30:03 132
原创 unity从0开始摸鱼日记15,再接再厉
还是3月26日完成玩家以后继续做敌人,敌人是漂浮在空中的,但是有碰撞体积,玩家撞到以后会反弹,敌人会被消灭但是突然发现一个问题,我导入的资源图片是很圆滑的圆形,然而到了游戏画面中却变成了像素级别的画面,这问题很大好像是因为我在一开始做的时候吧素材缩小的太小了。。。下次注意,无伤大雅给敌人添加碰撞检测,碰撞后销毁敌人,同时计算碰撞时小球和敌人的相对位置,给他前进方向施加力量 ...
2020-03-26 17:10:19 166
原创 unity从0开始摸鱼日记14,FightingBall!
3月26日,下大雨偶然间解决了之前一直耿耿于怀无法实现的小球问题,简直太爽了即鼠标按下,点击处与小球形成一条连线,,松开后小球朝着连线的方向发射出去思路不变,松开鼠标时获取位置,将其与小球所在位置作差得到差值vector2,将其作为参数修改小球的速度但是需要注意的是,在获取鼠标的位置时,要将鼠标的坐标从camera参考系转换为world参考系(The World!),不然会出现bu...
2020-03-26 14:59:23 140
原创 unity从0开始摸鱼日记13,学习TileMap的使用
3月25日,据说4月13开学学习游戏操作控制以外的部分也很重要之前一直没有思考到,关卡的切换,或者说不同房间的转换怎么完成先从制作关卡开始学习好了,学习用tilemap制作关卡首先创建两个文件夹,一个用来存放瓦片Tiles,一个用来存放调色板Palette,在windows中打开Tile Palette窗口,在上面新建调色板并存储到文件夹中,将需要生成瓦片的素材拖入调色板,并在提示...
2020-03-25 12:34:19 401 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人