自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

代码波士

关注办公室代码和八卦

  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 OpenCV 中的向量思维

OpenCV 中得矩阵和向量思维比如下面去除背景算法,源代码使用c++写的,用python重写了一遍,添加链接描述用opencv 从实现如下def reduce_background(img): win_size = 50 nh = int(img.shape[0]/win_size)+1 nw = int(img.shape[1]/win_size)+1 for i in range(nh): for j in range(nw):

2020-07-23 10:00:11 240 1

原创 使用latex优雅地编辑数学公式 离线版

使用katex.js在线编辑latex

2024-01-03 12:52:24 678

原创 CMake 编译stbimage和ffi调用动态库

imgui 其中亦涉及到imgui opengl或vulkan backend 的使用和glfw封装 比较繁琐 可参考大神https://github.com/sonoro1234/LuaJIT-ImGui。用luajit+ffi封装效率虽然很高 省去了反复编译的缺点 但是调试就没那么开心了 要稳扎稳打。输出为 libstbi.dll 动态库dll文件,即可以在luajit 中自动绑定到。CMake 编译STB_image动态库 dll 文件。

2024-01-02 23:14:25 552

原创 glfw 鼠标事件处理

glfw 鼠标事件

2023-12-29 09:53:48 1394 1

原创 【互动编程】基于集群单位的有效路径控制

无论是在《最高指挥官》和《全面战争》系列中常见的群体移动算法分析单位集群的列线状态,用简单steer和offset模式驱动单位的整体移动和避开障碍,首先看无障碍情况下单位地移动方式,

2023-07-18 09:30:02 220

原创 QT graphicsView复刻一款类似Inkarnate的跑团地图工具

自己倒腾漂亮的地图,像Fantansy Map (http://www.fantasticmaps.com/)用PS做地图教程太难学,于是乎果断放弃了。Inkarnate 是一个很好的选项好在inkarnate艺术风格过硬,细节处理很好,十分钟就可以上手**但是 ** free版本基本就是一个摆设25美元的年费让我烦恼,虽可以导出图片,不能导出到自己的引擎不愿花这笔钱,又想自己倒腾漂亮的地图

2023-07-07 18:30:00 411

原创 Grid.js原生环境增加选行功能

组件的名称为 gridjs.plugins.selection.RowSelection。使用selection插件需要采用正确的引入

2023-07-06 13:51:25 235

原创 PYQT Delaunay triangulation 互动编程

在 Lloyd relaxation 方法中,会把新多边形的几何中心替换原来的随机点,作者这里使用了一种近似与Lloyd relaxation 的方法,经过两次迭代达到类似于 Lloyd relaxation效果。将新的点集合,重新使用Delaunay算法,经过两次迭代后,可以看到原先尖锐的多边形明显圆滑起来,尖角现象消除,随机性还是有的,这是我们需要的。计算多边形中心,非常粗糙的几何中心,可以认为用几何中心作为多边形的centroid,当然是有误差的。在2D平面上均匀散布点。

2023-06-28 12:45:33 187 1

原创 PYQT-PYSIDE 实现Bmesh结构

网格结构编辑是3d/2d图形设计中绕不开的坎,网格结构编辑涉及到大量的UI互交,比如一个简单的边挤出(Extrude)操作涉及到边的几何选B择、边的拓扑修正、边和节点的缝合等等复杂操作、几何图形的渲染等多个步骤,比之直接绘图,难度提升比较大。网格结构编辑涉及到图形学的知识比较系统,除了几何和绘图几何学,部分还涉及到部分微分内容和线代,所以在很多web应用中,能够直接处理网格的高质量的开源包的可怜,代码以c/c++为主,鲜有python和javascript写的。

2023-06-06 13:27:22 185

原创 基于节点编辑的openCV

但在节点系统选型上,纠结了很久,imgui-node-editor是第一选择,因为它依赖少,跨平台性很好,渲染上显示上没有太大的缺陷,但是没有节点计算逻辑涉及,就是说自己去实现节点计算逻辑,缺乏较好的应用案例,这也是我最终放弃imgui-node-editor的一个主要原因。没有color picker ,slider仅支持浮点,但都不是大问题,对于自定义节点绘图,使用此接口进行二次开发,当节点塌陷的情况不需要执行,静态为主的节点可以绘制到image对象中减少2d重绘,背景绘制可以参考如下代码。

2022-09-28 15:14:30 1462

原创 激活Sublime Text Python 代码提示

windows 环境安装如下Sublime 2/3 环境下1-package manager 安装SublimeJEDI 支持pythonsublimeJEDI(https://github.com/srusskih/SublimeJEDI)进入包管理工具 Sublime Package Control (默认快捷键: ctrl+shift+p)输入 Install Package输入 Jedi 选择 Jedi - Python autocompletion2-文件保存为py后缀3-

2022-02-17 15:13:21 672

原创 pyqt5 TS下载 urllib多线程

ts文件特点:视频被切割成很小很小的碎片,每段只有2-3秒钟,一个电影文件被切成几千个ts文件,按照时间顺序排列。index1.ts、index2.ts、index3.ts、index4.ts…index799.ts所以代码的核心功能就出现了,ts文件多线程下载,可以从万能云下载好片1)“静默下载”,静悄悄的批量下载,一边工作,稍后欣赏2)“快速合并”一键合并成可拖动的完整视频,不用再打命令了3)保存历史记录,上次下载的地址清清楚楚4)界面轻美化留下代码,以备后用:import os,t

2022-02-17 14:59:36 336

原创 pyqt5 桌面摸鱼工具 一行小鱼

PYQT 实现word 摸鱼软件

2022-02-13 11:00:48 2334

原创 极简曲线编辑

极简主义 前端 Minimalist Curve editor基于canvas功能任意位置插入节点拖动节点节点卡位曲线控制节点的存储格式var pts = [];{x:100,y:100},…,{x:300,y:300}插值采用如下方法 // 中值函数 function mid(p1,p2){ return{ x:(p1.x+p2.x)/2, y:(p1.y+p2.y)/2 } } // 曲线中值插值函数 function inte

2021-12-22 09:41:15 112

原创 PYQT 程序员的界面美化

PYQT 程序员的界面美化支持pyqt5、pyside2# 使用例子import sys# from PySide2 import QtWidgetsfrom PyQt5 import QtWidgetsfrom qt_material import apply_stylesheet# create the application and the main windowapp = QtWidgets.QApplication(sys.argv)window = QtWidgets.QM

2021-12-11 07:06:24 9279 2

原创 SublimeText 3 Python搭建环境 (1)tab转空格设置

sublime-settings-User文件的{}内写入{…//把 tab 转换成4个空格“tab_size”: 4,//把tab 转换成 空格“translate_tabs_to_spaces”: true,“expand_tabs_on_save”: true,…//需要显示空格时候,可以加上这行“draw_white_space”: “all”}...

2021-01-29 17:09:59 143

原创 用pyqt5实现简单的SQLite表显示与可视化修改

表显示与修改显示表的列名和类型打开保存sqlite文件# coding=utf-8import sysimport osfrom PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtSql import *from PyQt5 import uicfrom PyQt5 import QtCoreTYPE_DICT={1:"BOOLEAN", 2:"INT.

2021-01-14 07:07:39 2810 4

原创 用最少的代码实现 GLSL live code

用最少的代码实现 GLSL live code代码高亮显示,动态编译GLSL代码,vs代码不用改动,只要改动fs代码即可uniform 与shaderToy类似,花了不少时间把 QTextEdit 与GLWidget融合在一起,然后是鼠标为位置的如何传递等等一连串问题这里主要用到了一个 ray marching 2d 的例子,当然也可以作3d的,这里不涉及了,依赖Pyqt5,pyopengl‘’’python‘’’’...

2021-01-13 20:55:13 275

原创 xlrd单元格类型转换

self.treeview.setRowCount(self.bst.nrows) self.treeview.setColumnCount(self.bst.ncols+1) for j in range(self.bst.nrows) : for i in range(self.bst.ncols): cg = '' cell = self.bst.cell(j,i) if cell.ct...

2020-10-19 13:41:05 1555

原创 用PYQT5实现非常基本sqlite的编辑器

用PYQT5实现非常sqlite简单数据显示编辑# coding=utf-8import sysimport osfrom PyQt5.QtCore import *from PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtSql import *from PyQt5 import uicfrom PyQt5 import QtCoreTYPE_DICT={1:"BOOLEAN", 2:"INTEGER",6

2020-10-19 13:38:52 876

原创 opencv 按中心点旋转 缩放

opencv 按中心点旋转 缩放 def rotate_selection(self,alpha): center = self.get_selection_center() for cv in self.selection: temp_path = np.array(cv['data']) - center # 2D Rotation matrix R = np.array([[np.cos(

2020-07-28 13:31:39 1076

原创 QT 实现绘图打印预览和打印

QGraphicsView打印预览和打印# coding=utf-8from PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtPrintSupport import QPrinter, QPrintDialog,QPrintPreviewDialogimport sys,codecs,csv,random,mathclass PainNode(QGraphicsPo

2020-07-27 09:49:03 1854

原创 【非阿里体系】9行的Python Excel读写笔记,重点是写

保留格式formatting_info=True详细代码# coding=utf-8import xlrd,xlwtfrom xlutils.copy import copy# output1 = xlwt.Workbook(encoding='utf-8')rb = xlrd.open_workbook(u'附件1.xls',formatting_info=True)wb = copy(rb)ws = wb.get_sheet(0)ws.write(4, 2, 'changed!'.

2020-05-25 11:29:51 162

原创 QTableWidget 花样界面遇坑记

QTableWidget 某一列插入Check列,走了弯路,大概的意思是在QTableCell中插入一个Layout,然后在layout中放入一个QCheckBoxck = QCheckBox()h = QHBoxLayout()h.setAlignment(Qt.AlignCenter)h.addWidget(ck)w = QWidget()w.setLayout(h)self.tv.setItem(j,0,item)初步实现显示Checkbox的效果,但留下许多后遗症,比如Checkb

2020-05-25 11:20:51 341

原创 【非阿里体系】QTableWidget中实现复制和粘贴

复制粘贴,对于表格来说十分需要,本来认为代码很长,但其实只要知道换行符就能理解复制粘贴的原理,代码不长# coding=utf-8 def keyPressEvent(self, e): # CTRL + C COPY TEXT TO CLIPBOARD if (e.modifiers() & QtCore.Qt.ControlModifier): if e.key() == QtCore.Qt.Key_C:

2020-05-25 11:08:56 2129

跑团地图软件 可行性文件+源代码+所涉及到的素材 支持自制素材加载和地图导出 Windows环境运行

跑团地图软件 可行性文件+源代码+所涉及到的素材 对于需要彩色的,可以自行寻找彩色sprite 素材 支持自制素材加载和地图导出 Windows环境 安装python3.5以上 pyqt5以上环境即可 Map of a Pirate’s Lair I’ve been a little light on inspiration recently – so I asked a friend for a challenge. He proposed a map on a theme of a Pirate Treasure Map, with the following outline:

2023-07-07

Delaunay Triangulation 互动算法

Delaunay Triangulation 算法基于pyqt5 gui 互动编程 涉及到的算法 默认100个点,需要修改请 point_count = <数值> 均匀分布 基于numpy Delaunay Triangulation 使用和结构渲染 Lloyd relaxation 松弛网格 操作说明: 空格 :形成Delaunay Triangulation网格并Lloyd relaxation 松弛网格 V:形成Delaunay Triangulation网格 左键:移动点并自动Delaunay化 右键:移动画布 鼠标滚轮:缩放画布

2023-06-28

shader live edit

代码高亮显示,动态编译GLSL代码,vs代码不用改动,只要改动fs代码即可 uniform 与shaderToy类似, 花了不少时间把 QTextEdit 与GLWidget融合在一起, 鼠标位置的如何传递 glsl语法高亮实现 uniform 绑定 这里主要用到了一个 ray marching 2d 的例子,当然也可以作3d的,这里不涉及了,依赖Pyqt5,pyopengl

2021-01-13

去除背景算法.zip

用numpy中的内置函数效率能提高 矩阵计算 用numpy矩阵函数执行效率大幅提升 for— 用向量运算 numpy ±*()等直接向量矩阵运算 rr = np.clip((ar[0]+(rr-ar[0])*contr)*bright,0,255) 1 子矩阵 sub = img[rstart:rend,cstart:cend] #子矩阵 或子图像 rr = sub[:,:,0] #”取出图像的红色分量 img[rstart:rend,cstart:cend][:,:,0]=rr # 填回数据 # 1 2 3 4 最大最小值 直接用np.max() 或 np.min() 我一开始用错成 minMaxLoc 函数走了很多弯路 当然还有 np.clip()等函数 不一一详述

2020-07-23

空空如也

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

TA关注的人

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