自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Just

traverl time

  • 博客(36)
  • 资源 (3)
  • 收藏
  • 关注

原创 VTK学习-1.模型分割并保存

想实现一个使用VTK来进行模型分割的功能。主要用到了VTK的vtkClipPolyData和vtkPlane两个类。在实现这个分割功能之前,先看下怎么样实现多个窗口显示的功能。1. 多窗口显示Qt与VTK的渲染结合在配置好了VTK的运行环境之后,我们就可以直接在QtDedigner的界面里面,将任意一个QWidget类提升为QVTKOpenGLWidget类型。这样,我们首先要提升两个...

2018-12-06 18:48:37 5236 3

原创 OpenCV4.0-Alpha动态二维码检测 小测试

1. 简述今天重新编译了最新的OpenCV4.0,发现里面多了很多机器学习相关的内容,后面做相关开发更加方便了。看到了跨度QR二维码也刚发布,这个功能同自己平时开发非常近,就测了一下官方的demo2. 测试测试代码是官方的live_detect_qrcode.cpp, 代码如下://测试二维码功能void CameraCalibration::QRCodeDetect(Mat &...

2018-11-18 22:29:15 1050 2

原创 libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found 终极解决方法

首先先查看/usr/lib/aarch64-linux-gnu/libstdc++.so.6这个库的信息strings /usr/lib/aarch64-linux-gnu/libstdc++.so.6 | grep GLIBCXX如果找不着可以使用sudo find / -name "libstdc++.so.6*"结果如下:/usr/lib/vmware-tools/lib32/libstdc++.so.6/usr/lib/vmware-tools/lib32/libstdc++.so.

2021-11-03 15:56:54 1741

原创 分享一个批量MP4转JPG图片的工具

@分享一个批量MP4转JPG图片的工具1. 使用背景在进行深度学习训练的时候,经常需要采集自己的数据,如果一张一张采集,会很麻烦,如果直接用摄像头拍摄,是一个非常好的办法。但是找了网上,都没有好用的视屏转图片的工具,要么太大,要么在线的慢的要死,于是自己写了一个。基于:Qtffmpeg软件截图如下:2. 实现代码#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QFileDialog>#include <QMa

2020-12-29 17:41:00 3237

原创 深度学习工程实践 7.基于人脸识别的头像简笔画

深度学习工程实践 7.基于人脸识别的头像简笔画1. 概述2. 效果展示1. 概述基于前几篇博客,我们最终要得到一些非常原始的简笔画,足够简单,只有几根线条。2. 效果展示...

2019-09-05 20:56:24 1808

原创 深度学习工程实践 6. 使用pytorch训练自己的眼球分割模型

深度学习工程实践 6. 使用pytorch训练自己的眼球分割模型1. 概述2. 目标3. 工程实践3.1 数据寻找,数据标注3.2 训练3.3 部署应用到桌面程序4. 总结1. 概述眼球分割,如果是在特定的眼球拍摄场景下,实际上直接用Opencv固定参数的方法就能够达到非常准确的识别率,但是,对任意的人像图片要达到准确的效果,Opencv固定参数的方法就要失效了。这时候就考虑使用U-net来...

2019-09-02 10:59:41 1645 6

原创 深度学习工程实践 5. libtorch+opencv使用复杂的训练分割模型(脸部,头发实现分割)

深度学习工程实践 5. libtorch+opencv使用复杂的训练分割模型1. 概述2. 目标3. 工程实践3.1 找到原始的网络定义,使用torch.jit.trace对模型进行转换3.2 libtorch载入模型,并进行前向计算3.3 修复结果的使用错误4. 总结1. 概述有的时候,我们希望在应用中直接使用已经训练好的模型。这在使用Python的环境下,比较方便,但是python要部署到...

2019-08-31 14:51:03 3504 8

原创 深度学习工程实践 4. 使用DLib进行人脸分割并矢量化

深度学习工程实践 4. 使用DLib进行人脸分割并矢量化1. 概述2. 目标3. 工程实践3.1 进行分割3.2 矢量化点数据3.3 平滑矢量线段4. 总结1. 概述大部分对人脸进行精细化处理的系统,都首先要讲人脸的数据分割出来。 这是一个非常基础的工作。 我们要实现的功能,也有很多的部分基于此处DLib的人脸分割算法。2. 目标使用DLib将人脸图片进行分割,分别保存眉毛,眼睛,鼻子,...

2019-08-31 14:08:58 1486 1

原创 深度学习工程实践 3. Window+Qt使用libtorch+opencv4.1 实践

深度学习工程实践 3. Window+Qt使用libtorch+opencv4.1 实践1.概述1.1 坑来的原因1.2 解决1.3 用最新的opencv2. 目标3. 工程实践3.1 下载最新的libtorch和Opencv4.13.2 配置Qt的pro工程文件3.3 代码验证4. 总结1.概述这篇主要记录一下在Window下使用libtorch的一些坑。1.1 坑来的原因这里踩坑主要来...

2019-08-30 14:48:03 2824 10

原创 深度学习工程实践 2. torch1.1+Ubuntu18.04+Cuda10.1+Anaconda开发环境搭建

深度学习工程实践 2.Pytorch+Ubuntu18.04+Cuda+Conda开发环境搭建1. 概述2. 实践2.1 Ubuntu18.04双系统安装2.2 Ubuntu的anaconda环境搭建3.总结1. 概述这一篇,主要记录一下配置深度学习环境遇到的问题。 虽然都是安装上的问题,但是花了非常多的时间。 要做的顺利,前提条件是能够FangQiang,你需要准备一个够好的梯子,否则还是放...

2019-08-30 13:48:40 399

原创 深度学习工程实践 1.Dlib的使用

深度学习工程实践 1.Dlib的使用1.概述2. 目标3. 工程实践3.1 编译3.2 工程配置3.3 测试demo4. 总结1.概述这个系列的博客,主要是记录一下机器学习,深度学习在工程实践中遇到的一些问题。 作为工程笔记留下。 最终的目标是使用现有的AI技术,开发一个将人脸变成矢量线条的素描系统。这个区别于普通的人脸二值化,本系统将单独对人脸的各个部位单独进行处理。在这里分享出一些实践...

2019-08-30 11:06:43 775

原创 C++实现自适应二值化

二值化每次都要调阈值,很头疼,实现一个不依赖OpenCV库的动态二值化算法很有必要。测试了参考文献,论文链接效果如下:达到了预期的效果。主要实现代码记录一下。void MainWindow::BalancedThresholding(){ QImage pos = img; QRgb *bin = (QRgb *)pos.scanLine(0); QRgb...

2018-12-07 11:20:57 3826 2

原创 DLP面曝光3D打印机模型数据矫正

1. 概述在使用DLP作为光源进行面曝光的3D打印系统中,我们经常会遇到投影机或者光机投射出来的光,发生变形,模糊的情况。这些情况容易导致如下一些问题:打印模型表面有像素纹路,不够光滑模型局部曝光分布不均匀,厚薄不一,在打印十分精细的零部件时尤为明显光源发生梯形形变,导致数据会有偏差镜头的折射而发生的物理偏差,导致单层发生桶形失真或者枕形失真上述问题,在对打印模型精度要求不高时,暴露不明显

2017-06-14 12:10:58 4923

原创 树莓派实现自己的Qt HTTPserver

1. 目标本文以树莓派为硬件,搭建一个本地的httpserver,用于产品中的各种测试。树莓派有了httpserver后,可以跨平台访问,实现了跨平台访问硬件的目标。2. 清单这里列举所需要的清单:2016-9-28 jessie-lite树莓派系统镜像Qt5+boost+opencvxvfb,实现后台运行带窗口的界面daemontool管理后台服务器wifi-access-point脚本

2017-05-16 09:53:29 2880

原创 三维模型自动添加支撑的几种实现思路

1. 概述这段时间又开始接触切片软件了。自动支撑一直是大家都在追求的一个功能,这里写一下自己实现过的两种自动支撑,并不是最好的,作为参考提供给大家,同时作为备忘。本文注重的是寻找到模型能够添加支撑的点,获得支撑点之后,如何添加支撑的动作,可以参考B9的添加模型方法,或者CW早期的代码添加支撑的方法,这两者是一样的。2. 两种思路及关键算法1. 基于三角片面中点这种方法是先获取满足添加支撑的三角面片,

2016-11-09 21:50:07 6058 2

原创 Qt - Debug

这篇就集合一下自己平时使用Qt的一些问题和小技巧吧。问题GraphicsItem中的signal使用 在GraphicsItem的继承类中使用signal,编译会报错。需要让GraphicsItem同时继承GraphicsItem(subclass) 和QObject两个类。 在多重继承时,QObject要放在最前面。 比如: class QMyItem : public QObject,

2016-08-06 11:10:23 506

原创 Qt Error: moc_*.cpp error

描述不小新在slot/signals声明变量会引发如下错误 [debug/moc_mainwindow.cpp] Error 1 [debug/moc_*cpp] Error 1

2016-07-17 16:39:17 7575 7

原创 Qt串口发送unsigned char的问题

1.问题来源当需要使用Qt的串口来进行蓝牙或实现其他通信协议时,需要发送一些十六进制的数。但是Qt的串口IODevice只允许发送char*。2.解决方法原答案这里给出源码函数void CPSerialPort::WriteUnChar(quint8 p){ unsigned char valueCh = static_cast<unsigned char>(p); mySeria

2016-06-22 10:30:07 6269 2

原创 Opencv识别答题卡

OpenCV答题卡区域识别

2015-08-20 10:38:16 20795 17

原创 3D打印机切片引擎CuraEngine源码分析<四> CuraEngine中的ReadMe解读,CuraEngine的版本介绍

这篇博客是关于CuraEngine的ReadMe文件解读以及Cura相关的版本问题的汇总。很多遇到的问题,其实在官方的ReadMe文件中都能找到答案。1. CuraEngine的ReadMe这里把自己一年前在南极熊上翻译的一篇文章拿过来吧。1.1    总流程The Cura Engine is structured as mainly .hfiles. This is n

2015-08-13 19:51:23 6491 3

原创 Windows下串口逻辑端口号大于10无法打开问题

在Windows下的串口编程遇到逻辑端口号大于10无法打开,解决方法:在 COMXX之前,添加 "\\\\.\\" 比如,串口 11,变成 \\\\.\\COM11 即可使用

2015-08-13 18:52:10 5364

原创 3D打印机切片引擎CuraEngine源码分析<三> 系列目录

这篇博文时这个分析系列的目录,先写下来。希望自己能够完成这一整个系列的博客。1. 3D打印机切片引擎CuraEngine源码分析  CuraEngine中的ReadMe解读,CuraEngine的版本介绍2. 3D打印机切片引擎CuraEngine源码分析  CuraEngine文件目录分析3. 3D打印机切片引擎CuraEngine源码分析  CuraEngine切片的流

2015-08-11 10:10:52 6962 1

原创 C++(Qt)静态成员类undefined reference to “xxx”

1. 现象描述今天在一个类中,使用了一个静态成员变量,这个变量是另一个类,具体的情况如下:class A{ int a;}class B{ static A* Fun; static int m = 1;}上述情况中,已经知道静态变量m需要初始化之后才能使用,但是静态成员 Fun在这里赋值为NULL,编译时不通过的,出错如下:    error: 'c

2015-08-09 17:08:49 3380

原创 Qt5.4(later)树莓派2 交叉编译环境搭建

将最近发布的Qt5.4交叉编译到最新的树莓派板子中

2015-07-31 16:04:42 5639 1

原创 3D打印机切片引擎Cura分析<二>记一个小软件

分享自己开发的一款小软件

2015-07-30 19:48:00 3660 2

原创 3D打印机切片引擎Cura分析<一>

CuraEngine是一款开源的3D打印机切片引擎,专门用于将3D模型文件转化为3D打印机能够识别并解析的gcode代码。CuraEngine是目前最优秀的开源切片引擎,没有之一。

2015-07-28 19:59:44 7202 2

原创 树莓派系统启动:PANIC: VFS Unable to mount root fs on unknown-block(179,2)

树莓派驱动过程中,内核报错:KERNEL PANIC: VFS Unable to mount root fs on unknown-block(179,2)原因是sd卡中的内容被不小心修改,主要是mmcblk0p2分区,将系统sd卡取下,插入到ubuntu中,执行:sudo fsck -f -v -r /dev/sdb2即可修复。重启,一切正常

2015-06-24 09:53:41 13569 2

原创 Window7下Qt4.8+OpenCV

重装了系统,之前配置的各种开发环境又得重新配置,在这里记录一下,免得以后又得查来查去。1.平台系统:Windows7-32bit 旗舰版Qt:Qt-4.8.1  QtCreator3.1   gdb:qtcreator-gdb-7.4-MINGW32_NT-6.1-i686  MinGw:minGW4.4OpenCV:OpenCV-2.3.1-win-superpack Cmake

2014-12-29 23:09:12 2297

原创 空间射线与三角面相交算法及实现

参考了《实时计算机图形学》,另加两篇paper,搞定

2014-06-10 11:46:11 1584

原创 关于QT实现多线程服务器

最近实习在做一个智能项目,要求在Cotex-A8的linux上用Qt实现一个小型服务器,该服务器有以下功能:1、检测串口传输过来的数据,存储下来,再通过网络发送到PC机;2、监测PC机向服务器发送的数据,再发送给串口(好吧。。。串口再发给zigbee,为什么节点不直接用WIFI啊     我的天!!)3、用户手持的触屏能控制向串口或WIFI发送的数据。。。。目前的思路是创建三个

2013-11-25 00:41:00 2792

原创 LDD3源码学习日记<八>

一、用户空间的poll和select测试函数在使用者两个函数之前,需要先安装scullpipe设备,下面是他们的测试代码和注释:#include #include #include #include #include #include #include #include #include int main(int argc,

2013-10-27 11:29:33 598

原创 LDD3源码学习日记<七>

这篇是学习关于阻塞IO的源码内容,源代码在examples/scull/pipe.c  examples/scull/main.c中,下面开始分析源代码:一、代码分析scullpipe使用一个进程来产生数据并唤醒读取进程,类似的,利用读取进程来唤醒等待缓冲区可用的写入进程,scullpipe的主体实现在examples/scull/pipe.c中,但是也利用了examples/scull/

2013-10-27 09:49:10 1194

原创 LDD3源码学习日记<六>

简单休眠实验(sleepy.c)#include #include #include /* current and everything */#include /* printk() */#include /* everything... */#include /* size_t */#include MODULE_LICENSE("GPL");s

2013-10-26 19:56:53 824

原创 LDD3源码学习日记<五>

这篇是关于ioctl的,全篇就这一个知识点。首先看函数原型:int (*ioctl)(struct inode *inode, struct file *filp,unsigned int cmd, unsigned long arg);其中,cmd是预先定义好的一些命令编号,对应要求ioctl执行的命令。arg是与cmd配合使用的参数。ioctl的实现一般是通过一个大的switch语句,

2013-10-26 17:29:06 710

原创 LDD3源码学习日记<四>

日记三不小心被删了。。。哎,只能在回收站里面自己看了。这博客80%的功能还是写给自己看的,其他部分的功能应该是用来练习写作能力的,留下这一路走来的证据,两年后回过头来看看自己当初是怎么犯低级错误的。哈哈。。第五章是并发与竞态,书上的内容讲的主要是信号量和自旋锁机制,还有completion,不过书上介绍这部分的内容不多,只用了短短的一页纸。信号量可以导致休眠,所以一般的可以用于临界保护区比较大

2013-10-26 15:06:16 650

原创 LDD3源码学习日记<二>

分析完了最基本的hello.c程序,开始学习下面的scull.c。第三章的内容里并没有涉及到scull中所有要用到的知识,主要介绍了设备驱动的框架,scull的使用,及fileoperation里面的open、read、write的实现。下面开始分析代码。最先看的应该是init函数和exit函数,找到他们int scull_init_module(void){ int resu

2013-10-25 19:26:15 809 1

51的C语言应用

这本书有点老 但知识点很全 适合入门~~

2012-12-11

51单片机的一些书籍

最近在学51 查了好多书 这些感觉都不错

2012-12-11

单片机实例100

单片机的一些例子 很适合入门学习

2012-12-04

空空如也

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

TA关注的人

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