- 博客(83)
- 资源 (6)
- 收藏
- 关注
原创 作品简介
作品简介及展示一.个人涉及知识领域学历 广东工业大学 物联网工程(网络工程)视觉算法库 halconopencv编程开发 MFC(C++)Android APP(JAVE)后台开发(C# python) 软件安全 SafeNet加密狗开发数据库 mysqlsqlserversqlite数据通信 http通信socket通信串口通信PLC与上位机通...
2018-06-18 15:55:36 2554 1
转载 Linux shell学习Demo(Linux程序设计第四版)
1、参考:http://blog.csdn.net/u011410413/article/details/43909567 2、文本格式:UNIX(建议Windows使用Notepad++编辑轻松设置) 3、树莓派和windows之间文件传输 3.1、运行如下命令安装samba软件 sudo apt-get install samba samba-common-bin 3.2、安装完成后
2018-01-19 11:39:56 463
转载 ATMEGA328P最小系统及用ARDUINO UNO做烧录器给ATMEGA328P写入BOOT LOADER
1、参考 http://blog.sina.com.cn/s/blog_6f72ff900102xktj.html http://www.geek-workshop.com/thread-14913-1-1.html 2、材料准备 Arduino UNO控制板1块 100欧姆电阻1个 22p电容2个 16M Hz晶振1个 ATMEGA328P封装芯片1个 面包板1个,连接线若干
2017-12-29 15:22:58 20861 1
原创 Jsoncpp解析中国地区编码JSON数据
一.中国地区编码JSON数据{ "086":["中国","0"], "110000":["北京","086"], "110100":["北京市","110000"], "110101":["东城区","110100"], "110102":["西城区","110100"], "110105":["朝阳区","110100"], "110106":["丰台区","11010
2017-11-09 14:51:43 6131
原创 Unity 3D鼠标操作实现旋转、缩放观察物体
1.实现思路:操作摄像头围绕物体中心点(远点),做球面旋转移动来实现旋转观察物体,控制球的半径大小来实现物体的缩放效果。 2.C#摄像头源码脚本//放在摄像头上,实现旋转、缩放观察物体using UnityEngine;public class BaseCam : MonoBehaviour{ public Vector3 mousePos1;
2017-06-05 15:49:02 3977 1
原创 Git之使用(针对局域网)
续:Git之使用(针对本地)16.连接GitHub 创建SSH Key:ssh-keygen -t rsa -C “youremail@example.com”(默认回车无需密码,在用户主目录生成.ssh文件夹) 登陆GitHub,打开“Account settings”,添加new SSH key(/.ssh/id_rsa.pub内容添加到key) 从远程库克隆,如:git clone ht
2017-02-09 18:51:10 5582
原创 Git之使用(针对本地)
1.Git的官方网站:http://git-scm.com2.下载git for windows:https://git-for-windows.github.io/3.设置用户名和邮箱 git config –global user.name “username” git config –global user.email “xxx@qq.com”4.创建版本库 mkdir learngit
2017-02-08 18:56:05 301
原创 [Scrapy]模拟登陆并获取Cookie值
1.分析登陆网址的方式 1.1使用Firefox或者Chrom浏览器F12,以Firefox登陆广工图书馆为例(该网址设计使用Cookie来记录登陆状态) 1.2登陆前 1.3登陆后 1.4根据登陆后可见POST方法的参数__EVENTTARGET:__EVENTARGUMENT:__VIEWSTATE:/wEPDwULLTE0MjY3MDAxNzcPZBYCZg9kFgoCAQ
2016-12-17 15:57:18 17039 1
原创 [Scrapy]爬取糗事百科段子
1.Python爬虫实战一之爬取糗事百科段子 (http://cuiqingcai.com/990.html) 2.在工作目录创建myprojectscrapy startproject myproject3.编写/myproject/myproject/items.py# -*- coding: utf-8 -*-# Define here the models for your scrape
2016-12-12 21:48:34 1433
原创 Scrapy在win10(64位)的安装说明
1.官方安装指南 (http://scrapy-chs.readthedocs.io/zh_CN/latest/intro/install.html) 2.下载pywin32 (https://nchc.dl.sourceforge.net/project/pywin32/pywin32/Build%20220/pywin32-220.win-amd64-py2.7.exe) 3. 下载ge
2016-12-10 21:39:06 1924
原创 静态文字居中CStatic
1.自定义CStatic 2.实现//// 静态文字居中CStatic#pragma once// CMultilineStaticclass CMultilineStatic : public CStatic{ DECLARE_DYNAMIC(CMultilineStatic)public: CMultilineStatic(COLORREF bgColor, COLORR
2016-11-21 09:32:02 3011
原创 MFC读取图片方式
1.类型:HBITMAP、CBitmap、CImage、Mat(Open cv)、HObject(Halcon) 2.注意图像单通道与三通道的问题 3.实现类// Bmp.h : 获取bmp图片头文件//#pragma once#include<vector>#include"highgui.h"#include "HalconCpp.h"using namespace std;usin
2016-11-17 14:57:48 5466
转载 MFC之设备描述表DC、画笔Pen、画刷Brush
1.利用SDK全局函数实现画线功能void CDrawView::OnLButtonUp(UINT nFlags, CPoint point) { HDC hdc; hdc=::GetDC(m_hWnd); MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL); LineTo(hdc,point.x,point.y); :
2016-10-28 11:11:36 2573
转载 maven eclicpse入门
0.《Maven实战》 1.maven安装及maven项目导入流程 2.解析pom.xml 2.1groupId:定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。 2.2artifactId:定义了当前Maven项目在组中唯一的ID。 2.3version:版本管理。 2.4packaging:打包方式。 2.5dependencies:下载及其导入依赖库。 3.Ma
2016-09-28 14:32:00 467
原创 Java线程队列
1、BlockingQueue 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。 2、ArrayBlocki
2016-06-11 01:00:55 584
转载 Java线程池
1、Java线程池实现了一个Java高并发的、Java多线程的、可管理的统一调度器。 2、Executors是个线程的工厂类,方便快速地创建很多线程池,也可以说是一个线程池的工具类。在该类里面提供了一些静态工厂,生成一些常用的线程池,包括newSingleThreadExecutor、newCachedThreadPool、newFixedThreadPool、newScheduledThread
2016-06-10 23:11:56 388 2
原创 Android中线程的应用
1、Android进程基础知识 缺省情况下,应用的所有组件都运行在同一个进程中,而且应用不应该改变这个传统。然而,如果你发现你需要控制某个组件运行在哪个进程中,你可以通过应用程序清单配置。 在应用程序清单文件中,每个类型的应用程序组件、、和都支持android:process属性,这个属性用来指明该程序组件运行的进程。你可以为应用程序组件设置这个属性,以使每个组件运行在不同的进程中,或者某几个组
2016-06-10 11:44:39 399
原创 Java线程并发基础
1、线程的生命周期 1.1、线程生命周期的5种状态 (1)创建(new):创建Thread类实例,已占用内存,new Thread()。 (2)就绪(runnable):线程已经被启动,正在等待被分配给CPU时间片,start()。 (3)运行(running):线程获取CPU资源正在执行任务(run()方法),此时除非此线程自动放弃CPU资源或者有优先级更高的线程进入,线程将一直运行到
2016-06-09 16:25:23 608
转载 Fragment与Activity的生命周期
1.参考:https://github.com/xxv/android-lifecycle 2.v4的Fragment生命周期//v4启动(Activity Created)MainFragmentActivity.onCreateTestCompatFragment.onInflateTestCompatFragment.onAttachMainFragmentActivity.onAt
2016-05-03 17:04:58 559
转载 Android动态壁纸
1.WallpaperServicepublic class GLWallpaperService extends WallpaperService { @Override public Engine onCreateEngine() { return new GLEngine(); }}2.WallpaperService.Engine(GLWallpap
2016-04-27 17:15:43 525
转载 OpenGL光照
1.不同光源分类 1.1环境光(Ambient light):天空 1.2方向光(Directional light):太阳、月亮 1.3点光(Point light):灯泡、蜡烛 1.4聚光(Spot light):手电筒、聚光灯 2.光线反射方式 2.1漫反射(Diffuse reflection):光线反射方向平等向不同方向蔓延,地毯 2.2镜面反射(Specular refle
2016-04-26 21:41:43 474
转载 OpenGL绘制地形
1.创建顶点缓冲区对象(VertexBuffer) 2.创建索引缓冲区对象(IndexBuffer) 3.加载高度图(Heightmap) 3.1把位图像素转换为高度图数据(顶点数据):高度图在每个方向上都是1个单位宽,且其以x-z平面上的位置(0,0)为中心,位图的最上角将被映射到(-0.5,-0.5),右下角会被映射到(0.5,0.5),y值则为该像素的红色分量/255,即高度。 3.2
2016-04-24 16:06:43 12147
转载 OpenGL天空盒
1.把立方体贴图加载到OpenGL中,贴图选择大小相同的正方形图片,立方体贴图的惯例是:在立方体内部使用左手坐标系统,而在立方体外部使用右手坐标系统。 2.创建立方体,使用索引数组绘制,减少内存使用 3.增加天空盒着色器程序//res/raw/skybox_vertex_shader.glsluniform mat4 u_Matrix;attribute vec3 a_Positio
2016-04-23 21:31:55 2551
转载 OpenGL粒子系统
1.粒子在内存的布局(坐标、颜色、向量、创建时间) float[] particels position.x <—- particel0 position.y position.z color.r color.g color.b diretion.x diretion.y diretion.z particleStartTime position.x <—- pa
2016-04-22 16:19:20 986
转载 OpenGL添加触控
1.glSurfaceView添加监听触控事件//4.glSurfaceView添加监听触控事件 glSurfaceView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {
2016-04-21 19:37:07 587
转载 OpenGL构建简单物体
1.几何图形类 1.1点 1.2平面圆 1.3圆柱体 2.物体构建器 2.1用三角扇(GL_TRIANGLE_FAN)构造圆 2.2用三角形(GL_TRIANGLE_STRIP)构造圆柱体侧面 3.将要生成的物体封装成各自类 3.1Puck 3.2Mallet 3.3Table 4.简单的矩阵层次结构 4.1投影矩阵:即三维空间在屏幕上的显示方式(一般onSurfaceCha
2016-04-21 14:27:14 1174
转载 OpenGL纹理使用
1.纹理坐标(UV纹理坐标) 1.1可以通过调整纹理坐标或者通过拉伸或压扁纹理本身来适应被绘制的形状 1.2计算机图像默认坐标 2.opengl纹理过滤模式 参考:http://blog.csdn.net/pizi0475/article/details/49740879 3.纹理绘制 纹理不会被直接绘制,它们要被绑定到纹理单元,然后把这些纹理单元传递给着色器。通过在纹理单元中把纹理
2016-04-18 16:26:21 547
转载 OpenGL透视投影
1.透视投影 在计算机三维图像中,投影可以看作是一种将三维坐标变换为二维坐标的方法,透视投影由于和人的视觉系统相似,多用于在二维平面中对三维世界的呈现。 参考:http://blog.csdn.net/wong_judy/article/details/6283019 2.perspectiveM(m, offset, fovy, aspect, zNear, zFar)方法 2.1仅支持a
2016-04-17 13:28:50 1892
转载 OpenGL调节屏幕的宽高比
1.正交投影 投影线垂直于投影面的投影属于正交投影 ,也称为平行投影。一般2D画面采用这种投影方式。 2.orthoM(m, mOffset, left, right, bottom, top, near, far)方法 该方法会生成一个正交投影矩阵存储在m数组变量中,这个矩阵会把所有在左右之间、上下之间和远近之间的事物映射到归一化设备坐标中从-1到1的范围,在这个范围内的所有事物在屏幕上都是
2016-04-14 19:20:52 1661
转载 Android消息处理机制实现同步效果
1.了解Android消息处理机制 1.1关键名词 Message:消息的表示 MessageQueue:消息队列 Looper:消息循环,用于循环取出消息 Handler:消息处理,消息循环从消息队列中取出消息后要对消息进行处理 1.2参考:http://www.cnblogs.com/angeldevil/archive/2013/09/29/3340644.html 2.使用An
2016-04-13 19:05:44 799
转载 OpenGL ES 2.0结合着色器开发
1.步骤 1.1创建GLSurfaceView实例 1.2检查系统是否支持opengl es2.0 1.3为opengl es2.0配置渲染表面(即创建自定义渲染器,主要的相关操作都在此处进行) 1.4.显示GLSurfaceView 1.5.Acticity生命周期与GLSurfaceView同步 2.eclipse设置静态导入(static import) 因为调用2.0版本相关函
2016-04-12 17:14:26 609
转载 Eclipse使用AmaterasUML
1.官网:http://amateras.osdn.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML 2.AmaterasUML是Eclipse的UML插件,支持UMLactivity图,class图,sequence图,usecase图等;支持与Java class/interface之间的相互导入导出。 3.下载解压把所有jar文件放入Eclips
2016-04-12 10:53:21 1430
原创 Android屏幕内容制作成GIF图方式
1.方式 1.1方式一:先把App操作过程录制成视频,然后根据视频转换成Gif 参考:http://www.jb51.net/article/78236.htm 1.2方式二:采用截屏的方式得到bitmaps数组,然后根据bitmaps数组生成gif 2.方式二举例//截屏类package com.example.androidgifmaker;import java.io.FileNot
2016-04-11 20:03:25 4792 1
转载 使用SWIG自动生成JNI代码
1.SWIG是一个编译时软件开发工具,它能生成将用C/C++编写的原生模块与包括Java在内的其他编程语言进修联接的必要代码。 2.下载SWIG:http://www.swig.org/download.html 3.创建新工程,项目右键找到Android tool->add native suppot 4.编写工程jni\Unix.i代码,并在src创建com.lin.swig包%modul
2016-04-10 16:09:46 1601
转载 扩展型模式之Visitor(访问者)模式
1.如果你期望允许开发者定义新操作,而无需更改类层次,可使用Visitor(访问者)模式 2.举例//访问者接口interface IVisitor { void visit(Node node);}//节点抽象类abstract class Node { abstract void accept(IVisitor iVisitor); abstract void d
2016-04-09 22:27:23 494
转载 扩展型模式之Iterator(迭代器)模式
1.如果你期望提供顺序地访问集合元素的方法,可使用Iterator(迭代器)模式 2.举例//迭代器接口interface Iterator { Object next(); boolean hasNext();}//容器接口:装载集合元素public interface Collection { void add(Object obj); int size(
2016-04-09 20:11:57 295
原创 扩展型模式之Decorator(装饰器)模式
1.如果你期望允许开发者动态组合对象的行为,可使用Decorator(装饰器)模式 2.举例//人接口:Component角色public interface Person { void doSomethings();}//男人类:ConcreteComponent角色public class Man implements Person{ @Override publi
2016-04-09 17:15:36 364
原创 操作型模式之Interpreter(解释器)模式
1.如果你期望各个类都实现一个操作,对每种不同的组合结构使用不同的操作实现,可使用Interpreter(解释器)模式 2.举例//抽象表达式public abstract class Expression { abstract int interpret(Context context); public abstract String toString();}//int常数类
2016-04-09 16:09:51 363
转载 操作型模式之Command(命令)模式
1.如果你期望把方法调用封装在对象中,可使用Command(命令)模式 2.举例//命令接口public interface Command { void exe();}//命令抽象类:添加钩子功能public abstract class AbstractCommand implements Command{ abstract int hook();}//命令Apubl
2016-04-09 13:30:32 1977
转载 操作型模式之Strategy(策略)模式
1.如果你期望封装一个操作,使其实现可以互相替换,可使用Strategy(策略)模式 2.举例//策略抽象类public abstract class Strategy { abstract void doIt();}//策略A类public class StrategyA extends Strategy{ @Override void doIt() {
2016-04-09 12:42:43 387
halcon-11.0.1 32位破解版
2018-03-02
android+arduino的蓝牙通信
2014-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人