自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 一个简单的转换图片为十六进制代码的工具(LVGL)

最近在玩单片机,发现lvgl需要在代码里面定义图片。lvgl官方提供的是一个在线的转换工具,这个功能似乎很简单。

2024-03-22 18:39:11 333

原创 hostname的查看和设置

hostname是一台机器的网络身份标签,往往在安装系统的时候就设置好了。每一台机器应该有自己独一无二的身份id。windows 中 我的电脑 属性设置。

2024-02-19 11:29:19 555

原创 PyTorch 张量运算与GPU

检查gpu是否可用。# 创建tensor。

2023-08-01 10:01:09 149

原创 曲线跟踪(基于最近点匹配和umeyama算法,动图保存)

基于最近点匹配和umeyama算法实现的一个曲线动态贴合的demo。里面还有保存gif的简单实用代码snippet。

2022-11-29 12:19:23 759

原创 使用python进行磁盘低级访问

recuva用来恢复误删数据,其免费版本足够家用。自己写代码来实现的话,需要注意:windows的磁盘直接访问名称:\\.\PhysicalDrive{驱动器编号}\\.\{盘符}:在linux系统下,则是/dev/sda sdb之类的东西。还有权限,windows的盘符冒号,还有字符转义。下面的代码来自StackOverflow,python - How to open disks in windows and read data at low level? - S

2022-03-27 10:00:48 1028 1

原创 PYQT5 Painter的简单入门

matplotlib性能不佳,尝试一下qt。import numpyimport typingfrom xmlrpc.server import DocXMLRPCServerfrom PyQt5 import QtGui,QtCorefrom PyQt5.QtCore import QPointFfrom PyQt5.QtGui import QPainter,QPaintEvent,QColor, QFontfrom PyQt5.QtWidgets import QApplicatio

2022-01-24 20:32:42 529

原创 c++ HEADER ONLY 模式踩到的一个小坑

先看现象:lee@xx:~/my_cpp/my_debug$ g++ main.o hello.olee@xx:~/my_cpp/my_debug$ ./a.outhehehehelee@xx:~/my_cpp/my_debug$ g++ hello.o main.olee@xx:~/my_cpp/my_debug$ ./a.outheiheiheiheihello.cpp#include "t2.h"void test(){ A a; a.heh

2021-12-16 22:36:40 1169

原创 python tkinter + matplotlib构建GUI辅助分析型app

要点:canvas的创建方式。更新数据之后要重新调用canvas.draw,才能刷新绘图板。import numpyimport matplotlib.pyplot as pltfrom shapely.geometry import LineStringdef get_rot(angle): sina = numpy.sin(angle) cosa = numpy.cos(angle) ret = numpy.array([[cosa, -sina], [

2021-09-29 16:54:20 322

原创 vscode 如何设置settings.json(不必再到处百度了)

今天使用vscode 玩 python的时候又遇到pylance对明明可以import的模块标虚线,且ctrl+鼠标左键无法跳转的问题了。这个被import的包与被执行py文件处在同级目录下,cd到该目录去执行不会有问题。只是pylance插件不知道要去哪个路径找这个包,所以标记了虚线。如果是pycharm的话,只需要把放这个文件的路径标记为源码目录(marks as sources root)即可。但是在vscode里面,需要设置的。搜索了一圈,找到了解决方案:设置.vs.

2021-05-22 22:51:37 16494 1

原创 python的日期时间模块 老是忘

time 模块Python 的时间有三种表示方法Unix时间戳格式化的时间字符串结构化时间类<class ‘time.struct_time’>(一个tuple的派生类)时间的定义UTC - 国际标准时间 , 中国为UTC+8。DST Daylight Saving Time 夏令时struct_time - 是从tuole派生而来的,可以视为一个9元素的tupleUnixtimestamp时间戳 - 从1970年1月1日0点开始计时经过的秒数Help on str

2021-04-17 11:21:47 90

原创 flask 使用sqlalchemy连接postgreSQL,长期无活动,出现异常断开的解决方案

后端长时间无数据库请求后,第一次恢复请求会报错,错误信息是这样的:sqlalchemy.exc:OperationalError: (psycopg2.OperationalError) server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.[SQL: SELECT visitor."I.

2021-04-05 18:19:13 3307

原创 vscode使用虚拟环境debug,无法在三方库中的断点上停止

一开始以为是虚拟环境设置的问题。搜索vscode 使用虚拟环境调试,出来一大堆,下面这个是比较详细的。https://www.yuque.com/rebooting/blog/whfzge然鹅好像跟我的问题无关,我的问题是这样的:launch.json{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes.

2021-04-05 16:40:03 4367 10

原创 python logging模块一次疑似死锁的解决(其实不是)

一直知道python在线程进程混用的时候会因为因为子进程复制父进程的锁状态而导致死锁,下面是引自https://stackoverflow.com/questions/24509650/deadlock-with-logging-multiprocess-multithread-python-script的复现代码:import multiprocessingimport threadingimport loggingimport timeSLEEP_TIME = 0.000001log

2021-03-11 20:17:24 1766 1

原创 Detached InstanceError:Instance is not bound to a Session 关闭session后使用SQLAlchemy对象

DetachedInstanceError: Instance <User at 0x32768d0> is not bound to a Session; attribute refresh operation cannot proceed搜索了下找到了答案,这种情况主要是发生在关闭数据库会话后,使用ORM的对用,获取对象的某些字段值,这时就会报错。报错的原因也很简单,SQLAlchemy的ORM方式将数据库中的记录映射成了我们定义好的模型类,这些类对象的实例只在数据库会话(sess..

2021-03-08 19:54:48 638

原创 Installing matplotlib into Ubuntu 18.04

File "/home/lee/share/py_lab/matplotlib_animation/src/test001.py", line 2, in <module> from matplotlib import animation,pyplot File "/home/lee/share/py_lab/env001_matplot_animate/lib/python3.8/site-packages/matplotlib/pyplot.py", line 36, in...

2021-02-27 19:41:32 234

原创 一个python 读写文件时默认换行符设置的坑

with open(target_file_name, "w", newline="\n") as f: f.write(content) newline controls how universal newlines works (it only applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works as follows:...

2021-02-05 17:34:18 407 1

原创 在ubuntu16.04中输入不存在的shell命令时,报错ModuleNotFoundError的(靠谱)解决方案

在ubunutu 16.04上使用源码编译安装python3.8之后出现了这个bug。任意输入不存在的命令,会跳出来一个python的异常报错详情:root@Lee:/var/log# junkTraceback (most recent call last): File "/usr/lib/command-not-found", line 27, in <module> from CommandNotFound.util import crash_guardMo...

2020-10-18 19:40:13 5262 4

原创 python numpy 函数向量化——“vectorize”,以及一个bug的解决

应用场景:很多时候需要对一个numpy array A里面的每一个元素执行一个相同的函数,例如:def round_x(data,n): # 这个函数按科学计数法的有效位数取一个浮点数的近似 if data == 0: return 0 # 注意这里有一个不容易察觉的bug offset = n - math.floor(math.log10(abs(data))) - 1 # round只对小数点后面的位数有效,因而需要将小数点前面的位数求

2020-10-11 21:08:30 1349 1

原创 使用python绘制二叉树(matplotlib + networkx)

import networkx as nximport matplotlib.pyplot as pltfrom collections import defaultdictclass Node: def __init__(self, val): self.name = val self.left = None self.right = Nonedef create(data, idx=0): if idx >= len.

2020-09-26 23:12:41 3392 1

原创 C++ 以模板类型参数的引用为参数的函数模板的实参推断 (左值引用形参和右值引用形参)

第一种 普通左值引用类型template<typename T>void change(T& x) { // 函数参数是模板类型参数的一个左值引用 x = 12;}函数参数是模板类型参数的一个左值引用:只允许传递一个左值(此时T会被推断为左值的类型,而函数的实参则是这个类型的左值引用),若传右值,会报错:int x = 12;change(x);cout << x << endl; // 正确,x为int,T=int,实参为i.

2020-09-20 18:49:42 1049

原创 防止资源泄露和数据破坏的异常安全函数 effective c++ 学习笔记

#include <iostream>#include <string>using namespace std;class Leak{ // 这是一个有意忘了在析构时释放资源的类,必然会造成100Byte的泄露public: Leak(){ cout << "Leak constructed." <<endl; data = (char*) malloc(100); } ~Leak(){ .

2020-09-07 23:24:35 166

原创 接上一篇:设置虚拟机静态ip之后无法上外网的解决

出现这个现象的原因是dns服务器的设置出了问题。解决方法就是给虚拟机设置dns参考了两篇博客https://www.cnblogs.com/dylancao/p/9159536.html这篇解释了为什么设置静态ip之后虚拟机就无法访问外网了。其实是因为nat模式原来有一套默认的dns,但是在你配置新ip后,默认的就取消了,都需要你手动去配置dns。https://www.cnblogs.com/breezey/p/9155988.html这篇说清楚了ubuntu上面设置dns的.

2020-09-07 22:37:47 1498

原创 固定vmware虚拟机IP 命令行设置ubuntu网络ip

设置虚拟机网卡属性这一段参考 博客https://blog.csdn.net/u014466635/article/details/80284792在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子网掩码和网关,后面修改静态IP会用到。 检查物理主机 网卡设置,打开网络和共享中心→ 更改适配器设置→,在VMware Network Adapter VMnet8上单击右键,选择属性按钮打开属性对话框..

2020-08-24 00:16:41 581

原创 学不会vim,那么就用samba+vscode搭建便捷的linux开发环境

工作在windows机器上,却总是需要开发一些在linux 上面跑的应用。这样就面临两个问题:两台机器之间需要频繁地同步代码 开发环境与测试环境不一致之前有人提到过使用windows的WSL,但有时候测试机器并不是ubuntu,所以还是很麻烦。在下定决心去学习vim或者emacs之类高端大气IDE之前,我还想继续挣扎一下。这个从一个小兄弟那里学到的samba+vscode的套路是这样的:在linux机器上用samba把一个目录共享出来 在windows上面创建一个网络驱动器映射 使用

2020-08-22 12:13:42 1459 1

原创 C++ 数组 指针 引用 函数声明引起的混乱辨析......

int array[] = { 1,2,3,4 }; //数组本质是个int指针,指向第一个元素int* int_ptr = array; //int指针指向数组的第一个元素int& int_ref = *int_ptr; //第一个元素的引用printf("%p %p %p\n", array, int_ptr, &int_ref);printf("%p %p %p\n", array+1, int_ptr+1, &int_ref+1);// 输出0.

2020-08-06 00:41:51 154

原创 pytorch 入坑 安装+基本概念+入门demo

windows版本的安装先来到官网https://pytorch.org/get-started/locally/ 选择合适的选项会得到一条pip命令,允许这条命令即可下载合适版本。若出现网速不给力的情况,可以手动将pip输出的信息中的url粘贴到下载工具中下载,然后使用pip instal**.whl 直接安装这个包。如果需要使用cuda加速,则还需要安装对应版本的cuda和“足够新”的显卡驱动。我试过cuda9.2+4xx版本以上的驱动,配合torch1.5.1版本,才...

2020-07-26 18:55:54 364

原创 C++的各种构造函数梳理

一、定义《C++primer》对构造函数的定义: 每个类都定义了他的对象被初始化的方式,类通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数叫做构造函数。构造函数的任务时初始化类对象的数据成员,无论何时只要是类的对象被创建,就会执行构造函数。构造函数有以下特点:函数名与类名相同,大小写敏感。 无返回值且无返回类型。 可以被重载。 构造函数中可以有默认参数。 必须是public的。 构造函数不能被声明为const的,因为在创建const对象的过程完成之前,这个...

2020-07-18 13:37:20 1297

原创 Eigen入门 使用eigen库实现图像旋转变换

#include "stdafx.h"#include <Eigen\dense>#include <iostream>#include <fstream>using namespace Eigen;using namespace std;#define MAT Matrix<double, Dynamic,Dynamic,RowMajor>#define VEC Matrix<double, 1, Dynamic, RowMajo.

2020-07-15 23:58:27 2386

原创 Google gtest框架带来的疑惑,C++静态成员变量的初始化时机

使用google gtest框架的时候总是有一个疑惑。每一个用例都是一个testing类的派生,创建完这个类,将这个类的源文件和gtest main一起编译之后,框架就能把这个类里面的方法调用起来?为什么?这个类是如何被感知到的?先看个简单例子:#include "stdio.h" int hello();class Hello{static int x;};int Hello::x=hello();int hello(){ printf("I say hel

2020-07-12 11:09:32 805

转载 Python装饰器

装饰模式有很多经典的使用场景,例如插入日志、性能测试、事务处理等等,有了装饰器,就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的。下面就一步步看看Python中的装饰器。一个简单的需求现在有一个简单的函数”myfunc”,想通过代码得到这个函数的大概执行时间。我们可以直接把计时逻辑方法”myfunc”内部,但是这样的话,如果要给另一个函数计时,就需要重复

2017-08-20 17:19:33 382

转载 隐马尔科夫链

什么是熵(Entropy)简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度。熵越大,系统越无序,意味着系统结构和运动的不确定和无规则;反之,,熵越小,系统越有序,意味着具有确定和有规则的运动状态。熵的中文意思是热量被温度除的商。负熵是物质系统有序化,组织化,复杂化状态的一种度量。熵最早来原于物理学. 德国物理学家鲁道夫·克劳修斯首次提出熵的概念,用来表示任何一种能

2017-08-10 11:07:02 255

转载 八大排序算法PYTHON实现

本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。1、插入排序描述插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素

2017-08-09 17:27:19 220

空空如也

空空如也

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

TA关注的人

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