自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

带翅膀的猫的博客

程序猿的练功房

  • 博客(40)
  • 资源 (6)
  • 收藏
  • 关注

原创 OpenCV--形态学操作

图像形态学操作–基于形状的一系列图像处理操作的合集,主要是基于集合论基础上的形态学数学。 形态学有四个基本操作:膨胀、腐蚀、开、闭。 膨胀与腐蚀是图像处理中最常用的形态学操作手段。 膨胀与腐蚀都是对于高亮部分进行操作。 膨胀(dilation)跟卷积操作类似,假设有图像A和结构元素B,结构元素B在A上面移动,其中B定义其中心为锚点,计算B覆盖下A的最大像素值来替换锚点的像素,其中B作为结构体

2017-11-30 19:47:09 4628 4

原创 OpenCV--模糊图像操作

模糊操作时图像处理中最简单和常用的操作之一,使用该操作的原因之一就为了给图像预处理时减低噪声。 使用模糊操作的背后是数学的卷积计算: 其中权重核h(k,l)h(k,l)为“滤波系数”。上面的式子可以简记为: 通常这些卷积算子计算都是线性操作,所以又叫线性滤波。均值滤波(归一化滤波)      均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素

2017-11-29 20:57:03 14562

原创 OpenCV--绘制形状与文字

绘制直线void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)实例代码:void DrawLine(){ /* void line(Mat& img, Point pt1, Point pt2, const Scalar&

2017-11-29 15:31:40 4507

原创 OpenCV--调整图像亮度和对比度

调整图像亮度和对比度的操作属于像素操作–点操作: g(i,j)=αf(i,j)+β,其中α>0,β是增益变量g(i,j)=\alpha f(i,j) + \beta ,其中\alpha > 0,\beta 是增益变量实例代码://调整图像亮度和对比度void Demo(){ Mat src,dest; src = imread("sanli.jpg"); if(!src.

2017-11-29 11:27:18 6929

原创 OpenCV--图像的混合

线性混合操作: g(x)=(1−α)f0(x)+αf1(x)g(x) = (1-\alpha)f_0(x)+\alpha f_1(x) 其中α\alpha的取值在0~1之间。对于输入的两幅图像要求大小和类型必须相同。相关API:void addWeighted(InputArray src1, double alpha, InputArray src2,double beta, double g

2017-11-29 10:46:51 3832

原创 OpenCV--图像的反色与灰度图显示

对于单通道图像:void Invert1(){ Mat src,dest; src = imread("lena.jpg"); if(!src.data){ cout << "图像载入失败" << endl; return ; } namedWindow("原图像",CV_WINDOW_AUTOSIZE); imshow

2017-11-28 17:47:11 11628

原创 OpenCV--矩阵的掩膜操作

所谓掩膜其实就是一个矩阵,然后根据这个矩阵重新计算图片中像素的值。 掩膜主要有以下用途:提取感兴趣区,用预先制作的感兴趣区掩模与待处理图像相乘,得到感兴趣区图像,感兴趣区内图像值保持不变,而区外图像值都为0。屏蔽作用,用掩模对图像上某些区域作屏蔽,使其不参加处理或不参加处理参数的计算,或仅对屏蔽区作处理或统计。结构特征提取,用相似性变量或图像匹配方法检测和提取图像中与掩模相似的结构特征。特

2017-11-28 13:24:47 14219 17

原创 OpenCV--图像的加载、显示、修改与保存

图像的加载与显示cv:imread:图像的读取imread有两个参数第一个参数:读取图像的名称(包括路径)第二个参数:表示加载图像的类型, 有三个值: ①IMREAD_UNCHANGED(<0)表示加载原图,不做任何修改 ②IMREAD_GRAYSCALE(0)表示把原图作为灰度图像加载进来

2017-11-27 20:25:14 3963

原创 雷霆战机项目

一直想做《雷霆战机》这一款游戏,以前一直找不到相关的学习资源,在开发完《坦克大战》后觉得是时候慢慢的去开发它了。 我将这个项目发布到了GitHub上,所有的源代码都可在上面看到。 地址为:https://github.com/WingedCat/AirWar开发阶段:准备:0、空项目的创建,加入了所有资源与创建了工具类。 为照顾不会git的同学,空项目链接:http://pan.baidu.c

2017-11-24 13:23:32 9167 2

原创 九、产生珍宝,用于补血或升级子弹(雷霆战机)

GitHub地址:https://github.com/WingedCat/AirWar产生珍宝,用于补血或升级子弹(雷霆战机)

2017-11-24 13:19:58 4322

原创 八、血条的制作和boss敌人的产生(雷霆战机)

GitHub地址:https://github.com/WingedCat/AirWar血条的制作和boss敌人的产生(雷霆战机)

2017-11-24 13:19:16 5718

原创 七、完善:飞机生命值和子弹杀伤力(雷霆战机)

GitHub地址:https://github.com/WingedCat/AirWar完善:飞机生命值和子弹杀伤力(雷霆战机)

2017-11-24 13:18:31 4385

原创 六、爆炸效果的产生及销毁(雷霆战机)

GitHub地址:https://github.com/WingedCat/AirWar爆炸效果的产生及销毁(雷霆战机)

2017-11-24 13:17:40 4665 2

原创 四、子弹类的创建,飞机子弹发射与无用子弹的销毁(雷霆战机)

GitHub地址:https://github.com/WingedCat/AirWar子弹类的创建,飞机子弹发射与无用子弹的销毁(雷霆战机)

2017-11-24 13:16:59 5286

原创 三、使用鼠标控制飞机,实现风骚走位(雷霆战机)

GitHub地址:https://github.com/WingedCat/AirWar使用鼠标控制飞机,实现风骚走位(雷霆战机)

2017-11-24 13:16:20 5635

原创 二、设计飞机类,实现键盘移动(雷霆战机)

设计飞机类,实现键盘移动(雷霆战机)

2017-11-24 13:15:10 5354

原创 一、实现欢迎界面和游戏背景图的滚动(雷霆战机)

实现欢迎界面和游戏背景图的滚动(雷霆战机)

2017-11-24 13:13:51 13274 1

原创 Spring----AspectJ的AOP

AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。 AspectJ是一个基于Java语言的AOP框架。Spring2.0以后新增了对AspectJ切点表达式支持。@AspectJ 是AspectJ1.5新增功能,通过JDK5注解技术允许直接在Bean类中定义切面。AspectJ表达式:

2017-11-22 11:03:32 3768

原创 Spring----AOP

一、AOP概述1.1、什么是AOP?      AOP:Aspect Oriented Programing,面向切面编程。       AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码       SpringAOP使用纯Java实现,不需要专门的编译过程和类加载器,在运行期通过代理方式向目标类植入增强代码。1.2、AOP底层原理AOP的顶层实现原理就是代理机制。1.3、Spring的

2017-11-21 20:11:53 3800 1

原创 (五)Eclipse使用EGit插件

EGit是一个Eclipse团队提供给Git的版本控制系统。 EGit插件的下载: http://download.csdn.net/download/qq_25343557/10119014 MyEclipse2014对应EGit: http://pan.baidu.com/s/1eSdDz2M MyEclipse10对应EGit: http://pan.baidu.com/s/1nv

2017-11-20 22:31:03 4109

原创 EGit--解决Eclipse中pull操作问题

在进行pull操作时出现如图所示错误: 在config文件中添加:[branch "master"] remote = origin merge = refs/heads/master[remote "origin"] url = git@github.com:WingedCat/EGitTest.git fetch = +refs/heads/*:refs/rem

2017-11-20 18:02:46 14064

原创 (四)Git与GitHub的协同办公

在掌握了Git的一些常用操作命令后我们现在就可以试着使用GitHub进行协同办公了。一、什么是GitHub?      GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名GitHub。 LOGO: 二、现在就注册一个属于自己的GitHub账号吧!https://github.com/三、Git与GitHub的连接3.1、查验、创建SSH Ke

2017-11-17 20:32:15 5159

原创 Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决

在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码。 这着实让我们心烦。我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? 那是因为我们使用的是HTTPS协议的原因。 GitHub提供了两种方式: HTTPS和SSH。 当年使用HTTPS时即使你设置了公钥也是没有用的。 现在我们改回使用SSH方

2017-11-17 20:30:49 8126

原创 (三)Git的常用操作

一、工作区、版本库与暂存区工作区(Working Directory):就是你电脑本地硬盘目录。版本库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库。暂存区(stage):一般存放在”git目录”下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。二、创建版本库Administrator@USERC

2017-11-16 11:24:04 3810

原创 (二)Git的安装与配置

Git的下载地址:https://git-scm.com/downloadsGit的安装 Git的配置git config --global user.name "username"git config --global user.email "useremail"Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。 C:\Us

2017-11-16 11:23:26 3775

原创 (一)Git入门概述

什么是Git?Git是世界上最好的分布式版本控制系统。Git的功能Git的诞生       Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。        众所周知,Linux是开源的系统,Linux的壮大是靠全世界热心的志愿者参与的,世界各地为Linux编写代码,那Linux的代码是如何管理的呢?

2017-11-16 11:22:37 3773

原创 TankWar游戏(图片版)----阶段八

游戏素材:https://pan.baidu.com/s/1i4Z2Cip阶段八消除坦克相互“碾压”现象核心思想:每一辆坦克都要检测与其他坦克是否碰撞了,譬如第1步没有发生碰撞,第2步没有发生碰撞,第3步发生碰撞了,那么回到第2步,改变方向继续前进。Tank类添加方法:private void stay(){//回到上一步 this.xPos = oldx; thi

2017-11-10 20:10:56 3706

原创 TankWar游戏(图片版)----阶段七

游戏素材:https://pan.baidu.com/s/1i4Z2Cip阶段七将实现爆炸效果游戏中爆炸效果的产生原理:爆炸的效果其实就是一个动画,动画的产生原理就是一帧一帧场景重播,即快速的展现多张连续的照片。创建爆炸类import java.awt.Graphics;import java.awt.Image;import GameTools.GameImage

2017-11-10 19:51:53 3736

原创 TankWar游戏(图片版)----阶段六

游戏素材:https://pan.baidu.com/s/1i4Z2Cip阶段六实现敌方坦克的产生,受伤害死亡的效果。初始化游戏时产生10辆敌方坦克,左右分别4辆,上方3辆。1、初始化敌方坦克TankClient中创建集合用来存放敌方坦克:public List tanks = new LinkedList();在launchFrame()后添加敌方坦克:for(int i

2017-11-10 19:15:31 3786

原创 TankWar游戏(图片版)----阶段五

游戏素材:https://pan.baidu.com/s/1i4Z2Cip阶段五中将对阶段四进行优化-----子弹的销毁1、问题提出:坦克每次发射子弹的子弹都会被存放进子弹集合中,即使子弹已经出界了仍然存放在集合中,这大大的浪费了空间。2、解决问题:子弹类添加变量:live 。用于判断子弹是否出界。在子弹类的move()方法中添加代码:if(x Constant.GA

2017-11-10 16:55:02 3741

原创 CGLib代理机制

JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。 CGLib是一个开源项目,是一个强大的,高性能,高质量的Code生成类库,它可以在运行期间扩展Java类与实现Java接口。 CGLib生成代理机制:生成一个真实对象的子类。Calculator类://计算器public class Calculator{ public voi

2017-11-10 16:14:16 3698

原创 代理-->静态代理&动态代理

Proxy(代理)模式是一种常用的设计模式,主要为了解决直接访问对象时带来的问题。代理模式是一种常见的模式,为某一对象提供一个代理对象以控制对此对象的访问。代理对象负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。静态代理由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经存在了。 创建接口:public interfac

2017-11-10 13:39:08 3671

原创 Spring学习-----ONE

Spring是分层的JavaSE/EE一站式轻量级框架。 1、 一站式:web层:SpringMVC持久层:JDBC Template业务层:Spring的Bean管理2、 Spring核心:IOC:反转控制—–将对象的创建权交友Spring完成。AOP:面向切面编程。3、 Spring的优点:方便解耦,简化开发Spring是一个大工厂,可以将对象...

2017-11-07 10:27:43 3781

原创 TankWar游戏(图片版)----阶段四

游戏素材链接:https://pan.baidu.com/s/1i4Z2Cip阶段四创建子弹类并且实现坦克的开炮。1、创建子弹类import java.awt.Graphics;import java.awt.Image;import java.util.HashMap;import java.util.Map;import GameTools.GameImage;publ

2017-11-05 17:32:21 3798

原创 TankWar游戏(图片版)----阶段三

游戏素材链接:https://pan.baidu.com/s/1i4Z2Cip阶段三中根据炮管方向实现8个方向图片的切换。1、在Tank类中添加新的变量:private static Image[] imgs=new Image[16];//存放图片的数组,一种坦克8张图片,我方和敌方共16张private Direction ptDir = Direction.U;//初始状态炮管

2017-11-05 16:50:29 3912

原创 TankWar游戏(图片版)----阶段二

游戏素材链接:http://pan.baidu.com/s/1i4Z2Cip阶段二中实现Tank的移动1、Tank的移动方向有8个方向,使用枚举类型表示这8个方向://枚举类型,用于表示项目中坦克和子弹的方向public enum Direction { L, LU, U, RU, R, RD, D, LD, STOP}为Tank添加属性----speed。表示Tank移动速

2017-11-05 15:59:20 3915

原创 TankWar游戏(图片版)----阶段一

游戏素材链接:http://pan.baidu.com/s/1i4Z2Cip阶段一中我们将实现背景图片的绘制和坦克的创建并显示1、创建TankClient类,继承MyFrame类在此类中重写paint()方法,此方法就是用于绘制GUI中的内容。创建Image类实例--bg,使用GameImage.getImage()将bg.jpg导入。在paint()方法中使用画笔进行绘制背景。

2017-11-05 15:45:05 4436

原创 JavaGUI游戏准备----工具类的创建

在游戏中我们需要使用窗体,由于我们不仅仅在此游戏中使用窗体,所有我们实现自己的窗体,为后续其他项目省了不少时间。实现MyFrame类:import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.event.WindowAdapter;import java.awt.event.Wi...

2017-11-05 14:26:08 4274

原创 Struts2框架学习---Three

通过阅读本文你将掌握: 1、Struts2中的国际化操作; 2、Struts2中的拦截器(重点); 3、Struts2文件上传与下载。 1. Struts2国际化国际化操作需要资源包(一个国家一个),通过java程序根据来访者国家语言自动读取不同的properties文件。 资源包命名: 基本名称_语言(小写) _国家(大写).properties eg: message_zh_CN.p

2017-11-02 17:37:29 3684

转载 Struts2拦截器原理以及实例

Struts2拦截器原理以及实例 Struts2拦截器原理以及实例 一、Struts2拦截器定义1. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.2. 拦截器栈(Interceptor Stack)。Struts2拦截器栈就是将拦截器按一定的顺序联结成一条链。在访

2017-11-02 14:07:36 3765

SpringMVC相关jar包

SpringMVC相关jar包,SpringMVC相关jar包,SpringMVC相关jar包,SpringMVC相关jar包

2017-12-19

mybatis与spring整合全部jar包(包括springmvc)

mybatis与spring整合全部jar包(包括springmvc),mybatis与spring整合全部jar包(包括springmvc)

2017-12-17

hibernate-distribution-3.6.10.Final-dist.zip

适用于hibernate的开发包,适用于hibernate的开发包,适用于hibernate的开发包,适用于hibernate的开发包,适用于hibernate的开发包。

2017-12-07

eclipse of egit

eclipse中的egit插件,在eclipse中使用git的必备工具。

2017-11-15

dom4j和xpath必备jar包

dom4j和xpath必备jar包对xml文档进行解析的必须jar包!

2017-10-22

struts-2.3.15.3-all

struts2开发必备资源,struts2开发必备资源,struts2开发必备资源,重要事情说三遍!!!

2017-10-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除