努力,努力,再努力
能力说明:
精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。
阿里云技能认证
详细说明我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
因为pcl的点云模板匹配遇到了各种困难,暂时先用opencv的模板匹配函数做一个简单的焊缝识别,看看效果。此方法的缺陷就在于物体和相机位置必须固定,只允许微小位移,否则数据将失效。
之前已经完成kinect2实时获取点云,那么接下来准备将点云保存到本地,点云扩展名为pcd。在网上查找资料普遍都是这个方法。 我就按着这个步骤尝试,首先创建一个空点云(pcl::PointCloud cloud;),接着定义点云的大小和格式,然后把信息写入点云,再使用(pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);),保存为pcd文件。
写在前面:生成点云前提是已经安装好了libfreenect2和PCL,网上有许多这方面的大把教程,在这里就不多赘述了。 -->ubuntu16.04,pcl1.8points.push_back( p );//将点P存入cloud 4,viewer.showCloud (cloud);//将cloud可视化 注意:将下列两个文件复制到同一个文件夹中,并在终端中依次执行cmake .,make,便会生成一个可执行文件main,输入./main,就可以显示点云,如果是一片漆黑,是因为我在代码中设置来点云的范围,将if语句去掉即可。
1. 鼠标左键按下选择起点,拖动鼠标,左键放开,确定终点。 实现效果1 实现效果2 2. 在linux下使用libfreenect2开源多平台驱动来获取kinect2.0的传感器信息,得到深度信息,并通过libfreenect2提供的getPointXYZ函数,来得到相机坐标系中某一点的空间坐标。
在上一篇中已经通过opencv获得到了各种图像,在这一篇中,将通过深度特性来进行物体的识别定位。 1,深度图像处理 1,运用opencv函数inRange来获取一定深度范围内的物体,进行二值化操作,并在此函数中设置两个阈值,来控制深度范围。
在安装好了kinect2.0在linux下的驱动(libfreenect2),以及opencv3.4.2后,就可以运用他们来驱动kinect2.0显示各种视频画面。
libfreenect2是一个Kinect for Windows v2设备的开源跨平台驱动程序。因为接下来需要通过kinect(微软旗下的一款应用于xbox的体感设备)来获取深度信息,以及物体轮廓框架信息,所以先准备安装libfreenect2驱动程序来提供kinect运行的API。
最近在搞微软的kinect,尝试了在linux下安装其驱动,但是可能因为是在虚拟机上的原因,驱动安装屡屡碰壁,无奈之下转到微软的亲儿子平台windows下来弄,果然分分钟安装好 ,接下来就要借助kinect的强大功能,这里我暂时只用到它的双目相机,并尝试这先用opencv来实现一些想法。
因为下学期会学c++面向对象编程,还有接下来的项目中可能会用到c++,所以决定先提前学习下,顺便与python做个比对,还是有许多相似之处的。=v= 下面是两个简单例子对比。
双目立体视觉是基于视差原理,由多幅图像获取物体三维几何信息的方法。在机器视觉系统中,双目视觉一般由双摄像机从不同角度同时获取周围景物的两幅数字图像,或有由单摄像机在不同时刻从不同角度获取周围景物的两幅数字图像,并基于视差原理即可恢复出物体三维几何信息,重建周围景物的三维形状与位置。
形态学操作其实就是改变物体的形状,比如腐蚀就是”变瘦”,膨胀就是”变胖”,看下图就明白了: 形态学操作一般作用于二值化图,来连接相邻的元素或分离成独立的元素。
此三种方法都是基于试除法,即不断地尝试能否整除。比如要判断自然数 x 是否质数,就不断尝试小于 x 且大于1的自然数,只要有一个能整除,则 x 是合数;否则,x 是质数。
1.目标识别与定位 对基于视觉的机械臂控制来说,机器人视觉是一个非常重要的部分。机器人只有在视觉的指引下,才能获取目标的正确信息,从而控制机械臂完成指定任务。
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。
7月12日,晴,陆陆续续的把Django入门教程看完了,了解到了一些前端知识,数据库,python的一些语法,比较顺利的开发了一个究极简陋的个人博客,实现了文章的发布与修改,也算是对Django有了初步的认识,激励我继续完成个人博客开发! 总结 1.熟悉settings.py文件的架构 2.掌握Model的运用 3.掌握urls的设置 4.编写Templates,通过浏览器呈现内容 5.熟悉Admin管理工具的运用 通过整一个流程下来,可以完成一个能上传文章,修改文章的简易博客,但之前一直是跟着教程打代码,好多细节都记不清了,甚至忘了。
1.多进程与多线程介绍 / 区别 现在,多核CPU已经非常普及了,但是,即使过去的单核CPU,也可以执行多任务。由于CPU执行代码都是顺序执行的,那么,单核CPU是怎么执行多任务的呢? 答案就是操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去。
爬虫经常需要伪装浏览器进行爬取数据,爬虫与反爬虫的较量无时无刻不在上演,本期介绍爬虫神器selenium库的安装及使用! 0.效果展示 以我自己的文章为例 代码运行 结果:加上自己两次查看访问结果5+2=7 ...
很久之前就想建立一个属于自己的博客,但这个计划一直处在搁置的状态,在大二上学期也学过一点网页设计的皮毛,只做了几个简单的网页,就没有继续做下去了,直到接触了Python,并了解到其Django框架的强大功能,便又萌生出建立个人博客的念头,也买了相应的...
透视变换是一个很实用的功能,当用手机去拍证件或者名片时,经常会拍歪,或者有边框。如果你使用过类似“扫描全能王”的软件,你应该知道,他们会自动把证件矫正并除边框,它就是通过透视变换实现的,和numpy中的仿射变换一样。
挺久没更新简书了,之前一直在忙机器视觉的开题报告,现在又要期末复习,射频通信,信号处理看的脑阔疼,所以决定写个简单点的爬虫,放松下,换个环境,也顺便巩固下爬虫。
因为接下来要完成一个机器视觉的项目,在导师的指导下,选定了“工业场景视觉感知系统”的课题,其中涉及到图像处理相关知识,在一番查找下,决定先对OpenCV下手(通过openCV可实现计算机图像、视频的编辑。
0.写在前面 在python的爬虫中,经常需要用到强大的beautifulsoup库,如之前写的股票数据的爬取中就用到了它。在这里,将详细总结beautifulsoup的用法,来巩固相关知识。
本次练习是一个定向爬虫,爬取股票的相关数据,用到beautifulsoup,re,requests等库。 爬前分析:先分析比较不同网站提供的股票数据,在这里比较的是新浪股票和百度股票。
体育竞技分析:模拟N场比赛 计算思维:抽象 + 自动化 模拟:抽象比赛过程,自动模拟N场比赛,当N越大时,比赛结果分析越科学。 本次比赛规则:回合制,15分一局,先由一方发球,如胜利,则得1分并继续发球,如失败,则双方分数不改变并交换球权。
1.clear( ) 删除所有字典项,什么都不返回,None。 用处:当x和y都指向同一个字典时,通过x={}来清空x,对y没有影响,但是用x.clear(),y也将是空的。
1.append( ) 用于将一个对象附加到列表末尾 >>>a = [1,2,3,4] >>>a.append(5) >>>a [1,2,3,4,5] 2.pop( ) 用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
SHARE专题用来分享一些有趣的东西 BDP传送门 个人版免费 更多优点等你去网站内发现! 下面是用python爬取的数据制作的一些东西(感觉词云图还是没有wordcloud库做的好): 3D词云图 qq群不同时间段信息量 ...
在上一篇中,已经详细的讲解了如何获取数据,接下来是深度处理数据,这里调用xlsxwriter库来制作Excel表格。 工具:Python3.6.5,Pycharm 1.
本期用到json,requests库来爬取网页信息,这次爬的是一个特殊多页式网站,普通多页式网站只需分析不同页面的url,找出其中的不同点,用for in来循环即可,但是斗鱼的https://www.douyu.com/directory/game/LOL中不同页面都是相同的url,这就需要去“F12”来寻找其中的区别。
python拥有近13w个第三方库,其中有很多优秀的库,比如wordcloud,scipy,jieba等库,能快速实现很多功能,比如制作一个QQ群聊天记录词云…… 工具:PyCharm, Python3.6.5 1.获取数据源 qq左下角 导出消息记录 要用.txt导出到任意盘符,接下来就要对导出的txt文件进行数据分析。
“任意”找个url,测试一下成功爬取100次网页的时间。(某些网站对于连续爬取页面将采取屏蔽IP的策略,所以,要避开这类网站。) import requests import time def getHtmlText(url): try: # try except:用于异常处理 r = requests.
正则表达式:一种用来匹配字符串的工具,根据不同类型的字符串,有不同的描述性语言来定义。 以下是部分描述性语言对应的匹配类型: 精确匹配:\w:匹配一个字母或数字(word);\d:匹配一个数字(digit);.