python
长虹剑
珍爱动植物,保护环境。
展开
-
[爬虫] demo 以及使用etree示例
总结了常用的爬取简单网站的方法原创 2022-09-19 20:47:07 · 486 阅读 · 0 评论 -
[小脚本] python 制作视频字幕
字幕分为两种一种可以直接写在视频中,另一种制作srt,然后播放器就可以自动打开from _chj.comm.pic import *from _chj.base.sys import exec_cmdfrom datetime import datetime, timedeltafor i, line in enumerate( tqdm(readlines("data/qa_v_subtitle/text.txt")) ): fiv = f"data/qa_video/{i+1:04d原创 2021-12-22 21:34:08 · 1322 阅读 · 0 评论 -
[小脚本] 基于opencv 的绿幕抠图
网上有一些 基于 opencv-python 的绿幕抠图算法,大多比较简单,只写明了最简单的原理,比如就是选择指定范围的颜色,然后在这个范围内的就抠掉。但是简单的这样有一些问题,就是比如:1)有些区域会抠出洞2)边缘扣不干净,而且会存在锯齿状结果。解决方案:1)使用图像闭运算2)需要求出一个离散数值作为抠图通道权重,而非 0 / 1。 可以用颜色的距离作为这个权重,这样权重在边缘应该会呈现过渡分布。但是解决方案1),会带来一个问题,就是如果绿幕正好是个小洞(比如OK的手指),这样会带来问题。原创 2021-11-06 21:04:30 · 4389 阅读 · 3 评论 -
python 正则、绘图库
总结一下,避免每次都查绘图seaborn 这个库封装的较好,可以使用参考一参考二import seaborn as snsimport pandas as pdimport matplotlib.pyplot as pltsns.histplot(data=tms) # tms 为numpy 数组plt.savefig("tmp/res.jpg")正则python 的正则写起来没有 ruby 方便,主要是感觉分的太细,没有全局变量有如下注意事项match 这个函数感觉是全匹配原创 2021-09-06 13:11:11 · 152 阅读 · 0 评论 -
python 生成带有alpha 通道的视频
第一次研究的时候弄了一下午,耽误了很多事情,这也是也是在放弃的边缘终于柳暗花明我最终是通过 moviepy 弄出来的,但是 moviepy 一定要装最新版,而且要小心其中的坑。参考资料ffmpeg 带alpha透明层的视频编码从这篇文章中可总结一些关键信息:mp4容器是可以支持透明通道的,编码格式为 png。在我后续的实验中也发现这样子生成的视频能比 mov 这种容器小一些,不过应该会带来视频质量的下降,可能需要传入 -vb 参数增加码率。最终是这个代码帮了我很大的忙,它还让我学到 ffmpeg原创 2021-08-17 17:04:31 · 2783 阅读 · 0 评论 -
[小脚本] python 制作文字GIF
颜色参考python图片写中文gif 制作bkimg="a.jpg"fnm="res.gif"ffont="/System/Library/Fonts/STHeiti Medium.ttc" #.ttfimages=[]com="comm 文本-_-"com_c=(0,0,0)arr_txt=["文本1", com, com, "文本1",com, com, "文本1",com, com, "文本1",com, com]arr_color=[(0,128,128), (原创 2021-07-29 13:07:06 · 650 阅读 · 0 评论 -
streamlit 数据简易可视化的web库
看到同事一网页, F12 看了一下,发现了这个果然是非常简单。基础安装:pip install streamlit运行:示例代码: streamlit hello自己的: streamlit run 1.test.py --server.port 80好像也可以执行网上的特点:支持修改的代码自动刷新非常方便配置,建议一开始不要加,~/.streamlit/config.toml[runner]magicEnabled = false[browser]gatherUsageS原创 2021-07-22 18:29:35 · 2308 阅读 · 0 评论 -
EverybodyDanceNow_reproduce_pytorch 运行
总之是需要改不少代码才能跑起来。其中有个地方是 Path 这个对象,如果直接 str() 会把最后的 ‘/’ 去掉。最后生成视频部分这里重新写一下 make_gif.py 这里首先分享一个保存视频的类import cv2 import cv2 as cv import osdef decode_fourcc(cc): return "".join([chr((int(cc) >> 8 * i) & 0xFF) for i in range(4)])def原创 2021-03-26 15:57:58 · 514 阅读 · 4 评论 -
python 文件操作, doc, xls, yaml
python 关于文件操作的总结原创 2020-11-17 15:55:00 · 277 阅读 · 0 评论 -
python 链式语法,并行执行
python 与 ruby 写起来最不一样的地方就是链式调用了, ruby 几乎可以连续写下去。而python 就很麻烦了,动不动就要用全局定义的函数,有害还要突然在上面定义个函数之类的,更甚至 lambda 里面不能显示使用’='赋值。今天发现个 seq 方法,勉强能解决部分问题,记录一下seq 文档查询 里面实现了很多方法,写起来能像ruby 了。from functional import seqwets=np.zeros(len(lines), np.float32)vids_w = se原创 2020-11-12 11:18:38 · 408 阅读 · 1 评论 -
[爬虫] requests / requests-html / curl / chrome js / wget 总结
文章目录与 requests 对比加载网页chrome 文件下载失败POST 请求下载文件刚了解,有些地方可能还不太准与 requests 对比requests 只能请求静态网页,现在的网页大部分是加载之后通过 js 代码动态渲染的,这样真实网页还没渲染完成,如果通过 request 的方法基本什么也获得不了。而本博客将的库可以定义会话,并使用 chrome 内核进行网页渲染request-html 的使用 需要先安装pip install requests-html --index-url h原创 2020-11-05 22:34:14 · 701 阅读 · 0 评论 -
问卷星自动填写,智能验证和滑动块
之前在 这里 介绍了基本的问卷星填写方法,然而博主在之后自动填写时发现经常需要智能验证,而且还加一个滑动块拖动,于是今天继续研究一下添加这个功能。下面的示例是电脑版的问卷星页面,博客里的 ff3.png 改为智能验证这个就是一个点击的问题,这个点击可以放在 pyautogui 也可以放在js 中,当然放在Js中最简单,虽然有时候不会出现,但是写上也不会报错。于是js部分代码变成了,...原创 2020-03-13 08:58:10 · 15124 阅读 · 3 评论 -
python TK 模糊查找bibtex的标识
结果展示描述:写论文有很多的bib,论文中需要根据ID来cite,如果只能记得起论文的名字,就可以通过此程序模糊搜索,然后选中条目拷贝到内存。这个程序也可以有其他用处,主要用于模糊查找一些条目。用于剪贴板复制的代码# pip intall pyerclipimport pyperclipdef clip(txt=None): if txt is None: return p...原创 2020-02-24 22:33:53 · 500 阅读 · 0 评论 -
[小脚本]生成简单的Laplace矩阵
由于不是生成cotan Lap 所以也不难,只是用到了一些 numpy的技巧,记录一下。# 1-based, like'''1 2 31 3 4'''fF="F.txt"F=np.loadtxt(fF, np.int32)-1nV = F.max()+1Lap = np.zeros( (nV, nV), np.float32 )# 每行生成组合for f in F: ...原创 2020-02-20 17:15:16 · 496 阅读 · 0 评论 -
网站表单自动填写【使用pyautogui 】
最近总是要填问卷星问题多达30个,每天一次非常麻烦,于是打算写个脚本自动完成。本来想用python的selenium配合可开发的火狐浏览器驱动实现(毕竟网上大家都是这么做的)。可是由于一下几个问题让我取消了这个念头:【主要原因】不知道网怎么了就是打不开github下载不了驱动。本质上还需要对网页布局和js进行针对性的分析,感觉还是写个js脚本,然后复制到 浏览器的console中运行算了。...原创 2020-02-17 11:17:36 · 5883 阅读 · 0 评论 -
numpy batch矩阵乘法, einsum
写程序遇到了类似 batch 相乘的问题, 而程序用的是 numpy 不是 torch, 本打算转为 torch 写突然想到有 einsum 函数, 于是马上就写出来了.本来想做的事情为for i in range(n): pts = lines[i] R = Rs[i] res.append( pts.dot(R.T) )简单来说就是有一堆点 两两一组, 每组乘以...原创 2019-12-25 20:14:19 · 2575 阅读 · 9 评论 -
js无刷新请求示例,python tornado
这个是帮同学写的一个小demo,就是无刷新请求获得数据的html示例,支持中文。同时也是自己第一次学习python简洁的服务器框架。 页面就暂时用字符串代替了# -*- coding:utf-8 -* import timeimport tornado.ioloopimport tornado.webpage='''<!DOCTYPE html><html><head><meta c原创 2017-04-18 22:36:44 · 1431 阅读 · 0 评论 -
win下python3与C++进行socket通信
当前自己做的一个东西是有关3D显示和算法控制的。 写算法的时候希望用python,而显示3D网格这些希望用opengl。一开始打算都用python,可是python的那些vtk,pyqt4似乎在python3上不好配置,总之自己弄了很长时间最后放弃了,就打算采用标题的这种方法,本以为这个在网上能够方便地搜到,没想到找了半天找不到合适的,于是简单拼凑出一个示例,记录一下。不知道要实现数据传输有没有更原创 2017-06-06 23:07:49 · 6859 阅读 · 1 评论 -
ruby/python利用pack unpack读取二进制文件
ruby的pack和unpack方法其实和python里面的struct的pack和unpack的方法是一样的(具体使用起来有区别),能够和c语言类型(确切是系统类型)进行交互。 比如说c语言的整型是4个字节,而ruby的int其实是个类根本无法统一,这样读写二进制文件肯定不对,于是可以用Array#pack String#unpack来解决参考资料Ruby string pack unpack原创 2016-11-29 09:09:03 · 4904 阅读 · 0 评论 -
ctypes cdll打开动态库,数据交换,调试
最近在使用python调用c语言写的dll,遇到不少问题记录一下。1 动态库有其他依赖的动态库就比如说你生成的dll通过在linux ldd 看到有其他的依赖 但是如果直接调用你的dll文件 cdll.LoadLibrary(param.fcdll)可能会有如下的错误 OSError: /home/wpr/bin/anaconda4.3.0/lib/python3.6/lib-dynload原创 2017-08-14 15:56:00 · 6888 阅读 · 0 评论 -
python 读取3D obj文件
给自己的写的 虽然感觉自己cmake文件的编写已经掌握的差不多了,各种库的调用也写了相应的文件,用时直接include就行。但是相比于python,c++还是复杂的多,于是这次决心好好学学python的opengl,这样调试也方便些。本博客介绍python读取3D obj文件并进行显示与控制。所用的python库主要有 pygame, pyopengl。这个pygame让我相见恨晚啊(好像很多强化原创 2018-01-02 22:22:37 · 35386 阅读 · 48 评论 -
Python 使用 tsne 降维
现在t-sne已经集成在sklearn里面了非常好用,下面是自己的一个降维可视化的例子。 所需要的文件 fdata 大致如下12 23 323 45 64 5 7 6 23 5ftarget大致如下1124这样就可以使用了【其实就是要符合numpy loadtxt的数据格式】#!/usr/bin/python# encoding=utf-8# -*- coding:utf-8 -原创 2017-03-27 22:48:04 · 27820 阅读 · 6 评论