自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xgbm_k的专栏

遇到什么问题就写什么内容的博客

  • 博客(65)
  • 收藏
  • 关注

原创 使用python向窗口发送鼠标点击命令

公司让用电脑在网页上看个视频。网页有个判断:一段时间没有鼠标活动,视频就会暂停。于是就想,能否隔一段时间就模拟鼠标点击一下视频暂停,再点一下继续播放。省得它自己停止播放。这样我就可以让网页窗口在后台,我去干别的。研究了一下,用python写了个代码基本上解决了这个问题。这里简单说一下解决思路。然后改造下面的代码(定时器),让过一段事件鼠标点击一次。有了窗口句柄后,就可以向窗口发送鼠标事件。

2023-08-18 23:57:31 1751

原创 CodeLite 16无法自动代码补全

Windows上CodeLite 16的代码补全是由clangd负责的。如果clangd缺少依赖库,那么代码补全是不会生效的。所以,当出现无法代码补全的情况,直接去安装目录下找到clangd,双击运行看看是不是缺依赖库。说实话,尽量用CLion和VS Code。我就是安装了依赖库,然后代码补全生效了。

2022-10-01 16:10:26 717 1

原创 CodeLite 16.0可以编译通过,但是在编辑器界面会显示找不到标准库头文件

然后在生成的clangd命令行后加入一个参数 --query-driver=/path/to/g++例如,在Windows上/path/to/g++就要写为c:\mingw\bin\g++.exe。打开 Plugins -> Language Server -> Settings。开始我一直没有明白为什么编译能通过,但是编辑器节目会显示找不到标准库头文件。后来发现在编译器界面显示找不到头文件是由clangd造成的。

2022-10-01 16:05:59 477 1

原创 VP8二进制熵编码器

以下内容主要参考了《VP8 Data Format and Decoding Guide》第七章Boolean Entropy Decoder7.1 Underlying Theory of Coding在编码时,假设:a <= x < b,p是出现0的概率。那么,编0的时候上式变为:a <= x < a + ( p * (b - a) );编1的时候,上式变为:a + ( p * (b - a) ) <= x < b。在解码时,假设:a <= x <

2021-09-30 16:08:58 282

原创 在ffmpeg和libavcodec中使用多个slices

有时为了加快解码速度,需要在码流中划分多个slices。在ffmpeg中使用-x264opts slices=4,参数来划分4个slices在c代码中设置ctx->slices = 4,来设置。这里ctx是AVCodecContext。

2021-09-08 17:11:37 531

原创 ffmpeg libavcodec 如何在视频码流中加入AUD

有时我们需要输入一帧码流,立刻得到该帧码流的画面。有些解码器要求在这种使用场景下,码流中必须包含AUD (access unit delimiter)。如果使用ffmpeg libavcodec编码,可以使用如下方法在码流中加入AUDav_opt_set(c->priv_data, "aud", "1", 0);...

2021-09-04 15:54:15 274

原创 哪些网站可以免费托管静态页面

前几天看到有人提问:如何免费托管个人博客网站。由于个人博客主要是静态页面,所以这个问题可以扩展为:哪些网站可以免费托管静态页面。首先,一些代码托管的网站可以免费托管静态页面:GitHub Pages,GitLab Pages,Bitbucket Cloud,Gitee Pages。其次,一些面向前端开发者的网站也可以:netlify,Vercel。除了静态页面托管服务外,你可能还需要工具来搭建网站:hexo,hugo,Jekyll 。...

2021-08-27 15:21:28 3450

原创 使用python paramiko登陆多个服务器编译库文件

我需要登陆多个Linux服务器编译不同平台的版本,例如:安卓版本、国产CPU版本、十几年前Linux操作系统版本。早先的做法是:用ssh依次登陆各个服务器,然后切换分支、拉取代码、执行编译脚本。随着要编译的脚本越来越多的,发一次版本的时间也越来越长,最后时间长到我不愿意发版本的地步。让事情更加糟糕的是:如果发完版本后发现存在问题,要重新再来一遍。此时就特别让人崩溃。于是就想写个python脚本登陆各个服务器,然后自动编译,拷贝到本地对应的文件夹中。最近发现paramiko可以达到这个效果,就花了点时间研究

2021-03-19 14:50:24 154

原创 python通过ctypes调用C动态库so

有两个函数写在r.c文件中。#include <stdint.h>#define INT16 int16_t// 注意不能声明为static,否则在python中加载时会报错void rd(INT16* buffer, int size){ }void re(INT16* buffer, int size){}因为我使用的是Windows,所以在MSys2上使用如下命令进行编译。cc -fPIC -shared -o r.so r.c然后可以得到r.so文件。

2020-09-24 16:02:22 669 1

原创 使用docker执行超分辨率super resolution项目neural-enhance

最近在GitHub看到了一个super resolution的项目neural-enhance。作者提供了docker镜像供大家下载使用。作者提供的是在linux下使用该镜像的方法,我的操作系统是Win10。这里写一下我是如何下载镜像并使用该项目的。首先,下载并安装docker desktop for windows。其次,要从dock hub上下载作者的镜像。国内直接从dock hub上下载镜像非常慢,所以要设置一下,从国内的镜像站下载。按照下图所示在registry-mirrors中添加国内镜像站。

2020-09-17 11:44:16 495 1

原创 Pytorch nn.Transformer示例代码

Pytorch官方Transformer教程没有使用nn.Transformer,仅仅使用了TransformerEncoderLayer。甚至连TransformerDecoderLayer都没有用。我找到了一个nn.Transformer示例代码,自己改了改放在github上:https://github.com/Kenneth111/TransformerDemo有兴趣的可以参考一下。...

2020-03-10 11:23:49 5339 5

原创 Windows平台创建cuda动态库并在别的工程中引用

环境OS:Windows 10显卡:GeForce210(跟公司说了几次没人给买新显卡…而且我的电脑电源功率应该不行带不起来大功率显卡,机箱也不行插不下特别大的显卡。但是昨天发现在Google Colab上可以跑CUDA C/C++程序!于是决定薅Google羊毛)。GeForce210只能搭配CUDA 6.5使用。IDE:VS2013(CUDA 6.5只支持VS2013),CLION 20...

2019-07-25 10:12:43 437

原创 在linux上为瑞芯微Rockchip 3288交叉编译x264和ffmpeg

交叉编译的目标平台是linux,不是android。从这里将3288工具链clone下来。我clone到了**/home/yourname/arm-linux-gnueabihf**下面。先编译x264。由于设置了**–prefix=./libs所以要先在当前目录下创建一个目录libs**。make install后头文件和库文件会出现在该文件夹下。./configure --prefix...

2019-06-18 16:30:53 2192

原创 使用wxpy实现在微信定时发送文件和消息

最近用wxpy实现了在微信定时发送文件和消息。源码(wx_send.py)放在这里。有兴趣的可以参考一下。

2019-04-29 11:54:49 6442

原创 使用python在控制台指定位置显示文本

在github上开了一个新项目:摸鱼工具集。第一个小工具的作用是:将股票信息插入到代码之间,让人觉得你在看代码,实际上在看股票。这里涉及到一个问题,如何不刷屏,在固定的位置显示、刷新股票信息。找了一会找到了这个工具windows-curses(我的项目是在windows上写的)。这里就记录以下windows-curses如何使用。首先要加载包并初始化import timeimport cu...

2019-04-19 15:15:58 3754

原创 算术编码如何将原始数据编码为二进制

在本地用Typora写好的。传图片比较麻烦,就直接截图上传了。

2018-12-29 17:07:04 3307

原创 使用libjpeg-turbo处理YUV444P和YUV420P格式

今天用libjpeg-turbo写了一个windows版的程序,可以将YUV444P或者YUV420P格式的数据压缩为jpg文件,也可以将jpg文件还原为YUV444P或者YUV420P的数据。代码上传到了github。喜欢的请给个星星,谢谢!代码参考了这里。...

2018-12-27 17:54:42 1688 2

原创 如何扩大C盘空间

最近遇到一个比较尴尬的问题:C盘没有空间了。Google了一下,发现EaseUS Partition Master的软件可以扩C盘空间。于是下载了一个免费的Home版。安装后,启动软件。想扩C盘空间必须D盘要有足够的空间给C盘。在D盘上选择Resize/Move。拖拽前面哪个小黑点,给C盘腾出空间。点OK。在C盘上再选Resize/Move,拖拽后面的小黑点。点OK。然后点上面的E...

2018-12-06 10:02:15 3838

原创 QT中使用PSTR报错

我在QT中调windows API: GetWindowText获取窗口名称。GetWindowText需要传进去一个PSTR来存储窗口名称。我按照官方文档中的用法(见下面代码),结果报错:error: cannot convert 'WCHAR {aka wchar_t**}’ to ‘LPWSTR {aka wchar_t*}’ for argument ‘2’ to ‘int GetWind...

2018-11-28 15:49:19 486

原创 QT将中文写入QString,不显示乱码

今天在QT里面用windows API获取窗口名称,有些窗口名称中有中文。如果直接将窗口名称存入QString,显示出来会有乱码。如何解决看下面的代码。 HWND winHandle = GetForegroundWindow(); int cTxtLen = GetWindowTextLength(winHandle); PSTR pszMem = (PSTR) Virt...

2018-11-27 16:18:10 734

原创 面向QT初学者的番茄钟

本来想找一个番茄钟用来提醒自己该起来活动一下。在网上找了找,发现好多都是用Electron开发的。不得不夸一句:Electron真的是个神器!它让前端开发人员也能够开发桌面应用,还能跨平台。后来是因为自己想统计下在一个番茄钟周期内切换过哪些程序——需要调windows API——放弃了用Electron(其实如果自己写一个Electron的插件,在插件中调windows API估计也能实现)。原来...

2018-11-26 10:31:13 797

原创 使用PyTorch将文件夹下的图片分为训练集和验证集

PyTorch提供了ImageFolder的类来加载文件结构如下的图片数据集:root/dog/xxx.pngroot/dog/xxy.pngroot/dog/xxz.pngroot/cat/123.pngroot/cat/nsdf3.pngroot/cat/asd932_.png使用这个类的问题在于无法将训练集(training dataset)和验证集(validation ...

2018-11-21 16:32:22 10429 5

原创 使用PyTorch中Dataset和Dataloader遇到的问题

今天在使用PyTorch中Dataset遇到了一个问题。先看代码class psDataset(Dataset): def __init__(self, x, y, transforms = None): super(Dataset, self).__init__() self.x = x self.y = y if tra...

2018-11-14 15:22:11 6601

原创 Pytorch官方文档中练习的答案

最近在看PyTorch的官方教程。在官方教程中特别是NLP中有些练习没有给出答案。我在看教程时顺手把这些练习给做了,代码放在这里sequence_models_tutorial.py对应Augmenting the LSTM part-of-speech tagger with character-level features最后的练习。word_embeddings_tutorial.py对...

2018-11-12 10:32:21 307

原创 超分辨率生成对抗模型SRGAN

最近想把低质量的图片还原成高质量的图片,因此又回到了single image super resolution模型。一直想找一些简单的模型把问题搞定,但试了两天效果都不好。昨天又看到了SRGAN。这篇论文早些时候看过没有特别看懂,当时也是为了找简单的模型应用在工程上,就放过去了。昨天有时间好好看了一下。感觉还是有些收获的。论文中提出了一个观点:用MSE(也包括了psnr)作为loss得到的超分...

2018-09-28 14:16:11 2564

原创 用卷积神经网络(CNN)识别文字

好久没有写博客了,趁最近比较闲来发一篇。有个项目:从计算机屏幕上截图识别截图上的文字早先识别的方法是:对比度颜色边缘检测问题是:有些图片会被识别为文字。前几天闲着就试了一下用卷积神经网络(CNN)来实现这个功能。生成训练集、测试集和验证集。首先,拿到一幅带有文字的计算机画面,用工具找到文字区域的起始和终止坐标,再用工具找到图片区域的起始和终止坐标。用下面的代码生成训练...

2018-09-20 10:17:45 15634

原创 c语言使用libwebp压缩

// *rgb_frame里面存的是bgra (FFMPEG:AV_PIX_FMT_BGRA)格式的数据,大小height * width * 4int encodeWebpRGB(uint8_t *rgb_frame, int height, int width){ FILE *out = fopen("d:\\test.webp", "wb"); WebPMemoryWrit...

2018-07-17 14:02:03 1819

原创 使用VGG19训练kaggle数据state-farm-distracted-driver-detection

最近闲来无事,用Keras写了个分类程序将VGG19应用于kaggle数据state-farm-distracted-driver-detection。本来想用Xception模型的。但是发现只要使用Xception模型,基于imagenet训练好的权重fine tune在第一个epoch必然会过拟合,不知道怎么解决。使用了VGG19就没有这个问题。 首先从kaggle上把数据下载下来。然后解压...

2018-04-04 11:34:40 2915 3

原创 一个使用ant design和reactjs创建的示例工程

这几天用create-react-app创建了一个reactjs示例工程:https://github.com/Kenneth111/antd-admin。里面主要用到了react, ant design, react-router-dom, redux。示例比较简单,初学者可以看看入下门。

2018-02-12 17:47:32 1454

原创 How To Become A Hacker思维导图

详情见原文http://www.catb.org/~esr/faqs/hacker-howto.html#respect4hacker ...... most having to do with technical adeptness and a delight in solvingproblems and overcoming limits

2018-01-09 10:37:31 717

原创 浏览器被hao123劫持

前几天发现浏览器打开后会被劫持到hao123。 上网查了一下怎么解决,发现了一个简单的解决办法。打开firefox和chrome的安装目录,将可执行文件改名为firefox1.exe和chrome1.exe。然后再将桌面的快捷方式更改一下。 最后建议大家给互联网举报中心发邮件举报一下[email protected]

2018-01-03 23:19:27 3173 1

原创 express res.download使用ajax请求文件下载不起作用的原因

在后台写:...res.download("path\to\file", "filename", function(err){ ...});前台写: $.ajax({ url: "/download", type:'POST', succe

2017-12-27 16:26:02 4408 3

原创 使用nodejs的graphicsmagick模块获取pdf每页的长宽

imageMagick = gm.subClass(imOptions); ... imageMagick(file).identify(function(err, data){ var page_width, page_height; if(err){ console.log(err); pag

2017-12-06 11:06:42 919

原创 reactjs router 4 (react-router-dom)使用嵌套路由遇到的问题

在使用react router 4 (react-router-dom)时遇到了好多问题,折腾了快两天才弄清楚。这主要是自己急于求成,没有读官方的文档。回头想想,自己折腾的时间或许比读完官方文档的时间还长。下面说遇到的问题。 1. 只使用Route会渲染所有匹配的路径。看下面代码:<Route path='/' component={Com1}/><Route path='/app' compo

2017-11-23 16:56:30 8539

原创 使用react router V4(react-router-dom)遇到的一些问题

Link必须要在Router内,不能放在外面,否则会报错。所以写的时候要这么写。 // index.js <BrowserRouter> <HomeLayout/> </BrowserRouter> ... // HomeLayout.js <SubMenu key="sub1" title={<span><Icon type="user" />su

2017-11-18 09:48:17 1110

原创 libVlc循环播放视频

代码比较简单不解释了。libvlc_instance_t * inst;...this->inst = libvlc_new(0, NULL);HWND hwnd = NULL;hwnd = this->GetDlgItem(IDC_SCREEN)->m_hWnd;...libvlc_media_list_t *ml;libvlc_media_t *md;libvlc_media_l

2017-11-13 17:28:04 6237 4

原创 搭建express+reactjs前后端分离开发环境

主要参考了https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/。 1. npm install -g express-generator 2. npm install -g create-react-app 3. npm install -g nodemon 安装这个主要是在开发时不用重启ex

2017-10-11 16:37:47 5014

原创 在Reactjs中使用Redux

最开始使用Reactjs时没有觉得必须要用Redux,也就没有学这部分内容。最近遇到了一个多组件通信的问题,觉得到了使用Redux的时候了就在网上找了文档看了看。下面写一些初步的使用方法。 1. 首先要定义actions。也就是描述你自定义的组件带着什么数据与别的组件进行交互,改变别的组件的状态。例如在下面的代码中的action用于通知新增一个按键,消息名称为ADD_BUTTON,消息携带的数据有

2017-10-09 16:13:57 315

原创 运行forever报command not found

使用root用户安装forever:npm install -g forever。然后运行forever, 报错command not found。 查了一下应该是forever目录没有配置在环境变量中。 npm list -g –depth 0查看forever被安装在哪个目录下。 然后直接使用绝对路径运行forever。

2017-09-29 11:34:54 5542 2

原创 redis无法写入新数据

redis写入数据时报错:(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for det

2017-09-29 10:33:21 4424

空空如也

空空如也

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

TA关注的人

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