自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (4)
  • 收藏
  • 关注

原创 北京第一年-OpenGL-21-入职之殇

新公司是家创业公司,环境氛围还可以,入职3天我们被要求来到cq出差半个月,出差补助按天算,不用提供发票,宾馆有5星级和普通可选,也不用垫付,用身份证就可以,还有下午茶每周两次,这些着实比上家公司强。产品经理天天弄ppt讲故事,挖痛点,然后整点英文词和高级词汇,赋能,闭环,方法论。由于工作需要,然后我申请高配电脑不被允许,但是来的早的人申请了好多,那我就申请个中配的吧,结果两个月才到手。结果,我们的产品一年改了好几次,大家也都习以为常,而有的部门一年改了五次之多,是完全的推翻,重新做。

2023-06-04 17:22:06 106

原创 北京第一年-OpenGL-20-选择

我曾用c++写过一个小引擎,也需这个是公司招我来的原因,我在公司也亮出过我的引擎的效果,组长看到后说你把这个代码给我,于是我发给了他,是的,发给了他,但是呢,是以库的形式给他的,你看不到源码,那能轻易给你么,我还没转正呢,现在看来幸好我是这么做的。后来我听有的猎头说是公司有一波裁员,各个组都有指标,我们就成了替罪羊吧,想想当时说要1个月就把产品从c++转到qt,这绝对是很紧迫,但没想到我们给做出来了,看来想让我们背锅的计划落空了,但是还是找了牵强的理由把这个组给优化了。嗯,就这样,我的下半年开始啦。

2023-05-27 16:46:28 119

原创 北京第一年-OpenGL-19-沉淀

这系列文章取名opengl不合适,其实没写多少opengl的知识,到时大部分都是家常话,所以改名随笔。这一篇是对这个阶段做个结尾,因为发生了大事,我办理了离职。至于公司给出的评价,我也没去看,只是从人力哪里获知说我作为一个新人成长的慢。我说同意公司的决定,好聚好散,但我不认同公司的说法。毕竟我在汽车领域是有大量量产经验的,并且写出的软件是高效和稳定的。而现在的公司却很少有人有量产经验,而且写的代码漏洞百出,还是那句话,互联网思维造车。汽车可不是四个轮子加方向盘就可以了,比亚迪的李书福也说过类似的话。从这次出

2022-06-02 22:31:32 363 2

原创 北京第一年-OpenGL-18-返京

明天飞回北京,终于结束了这漫长的出差,将近一个月吧。因为换了qt平台,需要在一个月内把原来做了1年多的程序切过来,而且还增加了很多以前没有的功能。我原以为不太可能,但没想到,边学qt变开发,我们给捣鼓出来了,而且是在人力不足的情况下,2.5个人,为什么有小数呢?因为本来有3个人一起做这件事,一个同事出差途中竟然腰间盘得了病,因病提前返京了。。用他之前的话说,我们也努力了,这个事难成,领导也不会怪我们,我估计他万万没想到这个新程序能出来。。所以后期就剩下我和组长两个人,这个组真是可怜。。几

2022-05-31 21:44:52 133

原创 北京第一年-OpenGL-17 匆匆上马

书接上文,公司决定要用qt了,下一个项目用qt的话至少还有几个月的时间去掌握qt的使用和设计架构。但令我没想到的是,公司让现在的项目切到qt,没错就是现在这个已经做了1年多的项目,要一个月内切到qt!具体是谁定的这个决策不得而知,至少我没参加过什么评审会议。当得知这个结果后,我私下向领导表达了担忧,“学习qt也是要花时间的”,”现在的程序如果不改架构,只是把壳换成qt,那区别不大"。但市场不等人,工期在那,那就干吧。我用过CGI,也用过KANZI,与之相对应的是一个开发理念和方法,这一整套思想需要花费

2022-05-12 21:22:50 110

原创 北京第一年-OpenGL-16初步定了用Qt

和直属领导的二次谈话后,事情在逐渐发酵,晚上组长找到我,进行了一次谈话。他说“画轨迹线这个事情让我对你刮目相看了,没想到这么快画完”。他这么说着实让我有些意外,因为我实在没觉得画轨迹线有多大难度,我记得要是按我的框架程序1天就画出来了,2天就定型了吧,后来又用组长原有的代码实现了一下,又花了几天,而且又用我编写的软件进行了测试,以确保无误。所以我在一个星期多的时间里相当于实现了两套东西。如果我告诉组长,实际上我是把这个任务做了两遍,他会不会更意外?谈话中他还提到我对程序崩溃时使用coredump不熟,

2022-04-09 07:56:26 170

原创 北京第一年-OpenGL-15我是挑剔的人

我是个挑剔的人。我总是在挑一个公司的毛病。但我不只是挑毛病,我想给公司治病。因为我不想时间浪费在低效上,然后内卷加班,然后解不完的bug,然后客户拍桌子,这不是程序员,这是码农。公司好了,员工就会由更高的效率,就不会去拼加班内卷,就会脱离码农,做更有意义的事,更快乐,然后更好的工作,良性循环。我原以为在这家公司,至少要一年,才能让别人认可你,听取你的意见,然后让你做点别的事,比如修改这个框架。但是我预计,过了一年,同事不但对你不会认可,而且会觉得你差些。我把这个比喻成,本来你这个人适合设计制造生

2022-04-03 08:49:37 326

原创 北京第一年-OpenGL-14multi cameras

这回小车不在孤单了,左上角的是全景图,里面包含了两个汽车模型,右下角是左视图,能看到一个车模和两根柱子。这个程序目前支持任意camera,每个camera可以设置clearcolor,图中四个camera的clearcolor颜色不同。增加camera也非常简单Renderer::AddCamera(&mainCamera);Renderer::AddCamera(&rearCamera);Renderer::AddCamera(&rightCamera);Render.

2022-03-27 22:08:11 296

原创 北京第一年-OpenGL-13倒车线

最近接到任务替另一个项目做倒车线,实际上没啥难度,我不知道他们以前怎么实现的,总之代码很长,又把简单的事弄复杂了,而且还不能代码重用,于是我按自己的框架实现了倒车线的仿真,这两天刚弄得,还有点瑕疵,明天在优化下就可以了。最关键的是我的仿真可以实现倒车入库,要是没点动画还有啥意思,这个环境是越来越好了,还是那句话,什么样的程序是好程序?越开发越轻松的程序就是好程序。...

2022-03-24 21:48:37 1139 8

原创 北京第一年-OpenGL-12向高迈进

最近又帮助项目组解决了一个大问题,使得公司向客户展示产品时有了更好的表现。目前来看项目中遗留的问题和毛病会正陆续交给我解决,我自认为具有一定的攻坚能力,不管是什么问题,可能是我没做过,没接触过的,但是我会分析产生的原因,然后寻找解决方案,最终解决它。以前经历都是以项目为主,功能,一般也都有成熟的解决方案和开发模式及框架,这就会提高效率和生产力。还是觉得大连做汽车电子专业,或许是某几家很专业吧,然后上海和南京也很专业,都有一套成熟模式和体系。而北京这边还是偏向互联网思维,其惯性思维是对程序算法和性能上

2022-03-13 09:39:58 90

原创 北京第一年-OpenGL-11我理解的相机标定-内外参

工作中需要用到相机标定,这个我以前确实没做过,来到这里要新学习。Intrinsics和Extrinsics,其对应的是内参和外参。这两个词语不知道是谁提出用在相机上的,起初作为初学者我不理解其中的含义,当当我了解了以后发现这两个词还真是相当准确。我说说我理解的内参。正如国内和国外的分界线是国界一样,既然分内外,相机就要有个分界限,我认为这个分界线就是相机轮廓,或者说是相机外壳。外壳以内的是内参,外壳之外的是外参。比如你买了个相机,他可能是变焦的,所以焦距是个重要的参数,另外你可能关注光学镜头的产地

2022-03-09 09:18:38 380

原创 北京第一年-OpenGL-10 why gtest

打开assimp/gtest里的doc看到了下面的话:Introduction: Why Google C++ Testing Framework?Google C++ Testing Framework helps you write better C++ tests.No matter whether you work on Linux, Windows, or a Mac, if you write C++ code,Google Test can help you.So what make

2022-03-06 22:20:14 416

原创 北京第一年-OpenGL-9 向assimp学习单元测试

学习opengl的人对assimp这个库很熟悉,但很有必要向它学习,要学习的就是单元测试。写单元测试花费时间吗?绝对不费时间。因为当把糟糕的未经过单元测试的代码提交后,你将花费数倍/数十倍百倍的时间去维护他。但是为什么很多公司不进行单元测试?正如刚入职一个月时和部门负责人一个简单的沟通,他问“这个问题不能通过单元测试解决吗?”,这个问题问得好,也不好。好是因为单元测试是解决软件质量的一个途径,不好是因为,前提是你得能进行单元测试,看来他对我们软件的现状了解的还不够到位。那什么情况下进行不了?当代码写的

2022-03-02 09:00:50 305

原创 北京第一年-OpenGL-8需要一个操作环境,比如qt

用glfw写的很多的opengl程序都是缺少操控界面的,如果我们用过blender或者3dmax等都知道它们一般有一个大绘制区来显示3D,同时在两侧有操作界面,这样就很方便。所以我们也需要一个这种界面,那该怎么办呢?于是想到了用借用qt或者vsstudio。说借用是因为我们有几个原则或者目的。1.opengl程序要和界面分离。也就是说,我们希望在仿真环境通过操作面板来调试控制操作opengl程序,当这一步结束后,我们的opengl程序可以独立出来,挪到别处,比如移到嵌入式系统,在哪里我们就不需要操

2022-02-28 08:33:23 170

原创 北京第一年-OpenGL-7 egl wgl glx agl glew window display surface context rendertarget glfw都是什么?

1

2022-02-27 20:29:08 502

原创 北京第一年-OpenGL-6车模为什么显示不清楚

随着问题的一个个解决,新任务也会随之而来——解决车模显示糟糕问题。其实这个问题很明显,我记得刚来的时候就发现了,包括项目经理在内很多人也一眼就看出来了,但当时组长说“客户都没说什么,先不用改”,反而让我先做车门联动,而车门联动却不是我们项目客户提的需求。所以这个逻辑很奇怪,领导让做啥就做啥,不按领导的指导走,他会生气,我来这做物理animation时没按他指导走他就生气过,我此时也不好接着说什么。但很明显,客户一定也是看出来的,只是没说罢了。组长告诉我可以从模型的角度考虑,可能是我们用的obj格式导致

2022-02-26 08:58:00 304

原创 北京第一年-OpenGL-5早晚要放弃的框架

其实大家已经或多或少意识到现在的框架存在问题,于是最近组长给部门负责人提交了一个修改框架的方案。部门负责人在群里说欢迎大家提意见,可能是我们组人比较少,或者大家没意见也或者不敢提,于是无人回复,我想回复,但是建议太多,恐怕我回复完了就成了否定了。为什么这么说呢,还是那句话,汽车电子和互联网不同,框架会更加复杂。汽车电子面对的是各大车企,其实力千差万别,本身硬件平台千奇百怪,而互联网企业的产品只要能在PC或手机端运行就行了,平台基本一样。就操作系统而言,我接触过的就有Linux,QNX,etKernal

2022-02-23 22:24:15 363

原创 北京第一年-OpenGL-4车门开关

做了几个animation后,组长交给了我一个新任务,车门开关,也许他们认为这是挺有难度的,至少用我们组长的话说“我不知道怎么做”。这个我在原来公司做过,所以理应不是难事,我拿出了在原公司写的跨平台程序,很快在PC端就实现了这个功能。而且代码相当简洁。 carModelLeftDoor.setMove(-lDoorRotationAxis); carModelLeftDoor.setRotateTo(carLDoorAnimationController.animate()

2022-02-21 21:40:05 521

原创 北京第一年-OpenGL-3第一个任务-animation动画

策略模式依赖倒置原则开闭原则

2022-02-15 22:30:02 330

原创 北京第一年-OpenGL-2什么样的是好程序

什么样的是好程序易测试跨平台团队开发

2022-02-11 08:04:06 123

原创 北京第一年-OpenGL-1北京我来啦

大连,南京,苏州,越找越远。家人让我试试北京。北京?去哪都不能去北京,房价贵,落户难,那些北漂的辛酸让我对北京有恐惧感,北京是我最不敢想的地方。人生就是这么奇怪,思想会发生很大的转变。小的时候以为警察和老师是最普通且没吸引力的工作,长大了才知道,那叫体制。在东北那是让人羡慕的工作,不是普通人能进去的。忽然间,我想试试北京。面试了几家,很奇怪,他们喜欢抛出一个你没做过的问题让你解决,相比一下觉得苏州昆山那边更务实,最舒服的是一个哈佛博士的面试,很平易近人,从不问我没做过的东西,而是从我做过的东西中发现问题

2022-02-09 09:20:36 299

原创 北京第一年-OpenGL-0辞别哈尔滨

逃关东,我该去哪?

2022-02-08 21:44:21 193

原创 各设计模式的应用

标题各设计模式的应用适配器模式在写跨平台软件的时候常用到次模式命令模式常以消息形式存在与模板配合

2020-12-04 06:26:03 64

原创 cmake gui 生成修改配置文件

工作中用到了cmake,写个总结。安装完cmake后,电脑里相应目录下会出现帮助文档,可供查看。CMakeLists.txtcmake可以通过命令行操作,也可以通过图形界面操作。我在工作中是通过图形界面操作的。在使用的时候它需要一个配置文件——CMakeLists.txt,只能是用这个名字,大小写没有影响。编辑CMakeLists.txt我在里面加入一句话set(TEST ON CA...

2019-03-17 11:22:42 6242 1

原创 实体系统ECS/CES的设计

Entity Component SystemEntity我们的Object会继承这个Entity,components会嵌入Entity中,Entity不包含数据,因此当继承的时候不会增加Object 的大小。Component组件中只应该包含数据,不包含逻辑。组件可以通过句柄引用。组件的声明期自动与实体的生命期关联,当实体被销毁,所有关联的组件也自动销毁。Component Syst...

2019-03-08 15:00:57 244

原创 QT与OPENGL四:c++设计模式与ShaderTool

前几天写了个ShaderTool,随着功能的增多,程序越来越复杂,逻辑变得混乱,以至于想要增加功能变得越发困难,原因在于程序的设计存在缺陷,耦合性差,而且难于复用,看着如此杂乱的代码,我打算重写这个程序,于是变学习设计模式,边套用到ShadreTool,由于对设计模式的理解还有限,所以可能有用的不当之处,即便如此,我再版的程序已经比之前好了很多。 首先看看两者目录结构的变化。 Ma...

2018-09-01 14:29:50 617

原创 QT与OPENGL三:自己编写的ShaderTool

编写了一个shader学习工具,主要包括编辑界面,显示界面,可以实时编辑和立即看到效果。

2018-08-31 05:47:35 715

原创 QT与OPENGL二:用鼠标控制lookat视角

单独控制lookat的左右,和上下比较容易,合在一起遇到了些问题,主要是涉及到了球坐标。当按下鼠标时记录当前点坐标。 mousePoint.push(mousePressPosition); 当移动鼠标时计算移动差 mouseCurPosition = QVector2D(e->localPos()); QVector2D offset; if (mo...

2018-08-24 13:33:38 5053

原创 QT与OPENGL一:用dock显示cube例子

刚开始想用vs搭建环境,初步了解了一下,glut似乎太旧,glew,glfw比较难整合到window窗体中。 于是还是选择了QT,QT下开发opencv也很容易。使用QT过程中会遇到一些错误,有时更改了工程后,需要重新qmake一下。可以一点点把cube例子加到dock例子中。提示: QOpenGLShader: Unable to open file “:/vshader.gls...

2018-08-23 10:36:14 889 2

原创 window+qt+opengl

推荐使用vs2013+qt5.7 试过2015,不太好用。

2018-08-22 14:50:23 250

数字图像处理成长之路18:android下的车牌检测应用实例子

一晃有半年没写博客了,这半年里发生了很多事,参一个加了一个圣经学习班,了结果发现是邪教,于是又营救了几个学员,是不是有点像演电影。首先需要在手机端安装opencv mangager OpenCV_3.3.0_Manager_3.30_armeabi.apk...

2018-05-22 18:49:19 151

原创 数字图像处理成长之路17:linux下训练样本并识别车牌实验

在网上找到了一个小样本首先列显示这些样本文件并重定向道data1.txt:ls -1 >> data1.txt然后修改后缀名:cat data1.txt | sed 's/\.bmp/\.bmp 1 0 0 60 17/'在文件前面加上路径前缀:cat data2.txt | sed 's/^/\/home\/test\/桌面\/

2017-11-21 19:59:01 747

原创 数字图像处理成长之路16:QT中问题的解决办法androiddeployqt.exe"退出,退出代码 14

在Window中安装好QT,简单的建立了一个android工程,编译后出现报错:***Starting: “D:\programs\qt\5.9.2\android_armv7\bin\androiddeployqt.exe” –input C:/Users/Administrator/Documents/build-HelloQT-Android_for_armeabi_v7a_GCC_4_9_Q

2017-11-10 16:34:16 5214 6

原创 数字图像处理成长之路16:opencv用于android的几种方法

由于想把opencv的程序用于真实环境,由于手机带有摄像头,因此可以用手机去做车牌识别,人脸识别等应用。要想在手机中用带有opencv的程序大致有几个方法。方法一:eclipse+java+android sdk + adt 如果你和我一样,从没做过安卓程序,那么这会使你发蒙,就和我初次接触一样。eclipse是一个开源跨平台的开发界面,我们可以用它开发不同语言写的程序,它默认是用来开发java

2017-11-09 20:12:54 292

原创 数字图像处理成长之路15:前景提取(最大似然估计EM算法与高斯混合模型)

先实践一下何为前景提取: 原始图像。 如果画面中有移动的物体,会以白色表现出来。 我理解的前景提取就是把画面中移动的物体提取出来。 这是opencv中给的示意图,来简单看看opencv代码:// Global variablesMat frame; //current frameMat fgMaskMOG2; //fg mask fg mask generated

2017-10-24 14:17:17 2674

原创 数字图像处理成长之路13:SIFT之极值点(子像元插值)

很多关于SIFT算法都会写到极值点的定位,这篇文章也离不开这以问题,然而这篇文章的重点是发现在定位的过程中用到的知识,这也是我写SIFT的目的,我究竟学会了哪些知识,上一篇我初步领略了尺度空间这一全新概念,这一篇我将学到子像素差值或者叫做亚像素差值。 下面这个文章写的不错,但是我们还是重新自己学习一下。已知函数,求函数在[0,4]间的最大值。 如果函数是离散的,那么最大值是5,但是函数是连续的,

2017-10-13 15:58:00 1530

原创 数字图像处理成长之路13:SIFT之尺度空间c++版

之前我从没听说过SIFT,真的是从零开始,而且是一个人自学。看了很多文章,下面这篇不错:        http://www.cnblogs.com/JiePro/p/sift_1.html        有些理论看多了也还是似懂非懂,真正自己用代码试着去实现,就能发现算法的一些细节问题,然后能更好理解算法。        我尝试用c++描述SIFT的尺度空间。 const

2017-10-11 18:20:21 278

原创 数字图像处理成长之路12:重映射实例

这篇的内容没有什么难度,写了个小程序,演示一下。 原理可参考: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/imgtrans/remap/remap.html#remap效果可以看录制的视频。视频的重点在于,用QT编写的程序界面集成了很多功能,使得我们可以先后对图形进行多种处理。使用起来十分便利。 ht

2017-10-05 20:14:02 299

原创 数字图像处理成长之路11:harris角点检测

时间过去了大约一个月,成长之路已经写到第11篇,前面的10篇使我得到了锻炼,初步体验了数字图像处理的趣味,同时提高了自己的一些不足。比如数学知识有所巩固加强。在编程的过程中,我只是把原理初步的用c++描述出来,当运行程序后,发现效率总不令人满意,这也在提醒我,优化算法与代码的重要性,但在优化的过程中还要尽量不牺牲程序的可读性。程序的界面用的是QT写的,随着界面功能的增多,提高代码复用并减少对封装的破坏也是我关注的一个问题。

2017-10-04 14:35:04 687

原创 数字图像处理成长之路9:轮廓提取c++版

#简介什么是图像的轮廓?在这里不去深入研究它的定义,简单的理解,当人站在太阳下,产生的影子的边界就是轮廓。大致是这样子吧。#轮廓提取的原理做为一个初学者,试想如果提取轮廓?我首先想到的是沿着轮廓边界搜索。很显然,每个点有8个相邻点也就是8个方向,只要对每个点的8个方向做递归判断就可以了吧。这是我初次接触轮廓提取时的第一想法。当然,轮廓提取应该有很多算法,我是个学习者,并没有充足的时间去把每

2017-09-27 21:04:16 3650 2

03-ISO-23150融合数据

03-ISO-23150融合数据

2023-11-21

socket 多线程 tcp udp 多人聊天室

linux 下多线程socket 多人聊天。尽量做到了数据的封装,有很多需要修改的地方,初步进行了模块化设计。客户端与服务端放在了一个文件夹里,make -f smakefile 将编译出server make -f makefile将编译出client 程序使用前需改变cfg.txt scfg.txt 中的ip.

2013-07-25

socket 多线程 tcp udp

使用前需修改配置文件中的ip,有疑问请联系作者,初次联系socket 很多地方有待提升。

2013-07-25

多线程 聊天室 tcp udp socket

融合数据封装的思想,模块化涉及,功能放在不同文件中实现。客户端与服务端共用很多部分。使用时 make -f smakefile 将编译出服务端 make -f makefile将编译出客户端,程序启动前需在cfg.txt 及scfg.txt中把 ip地址改成自己的ip方可。

2013-07-25

空空如也

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

TA关注的人

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