数字旗手

电气化、自动化、数字化、智能化、智慧化

0%

%%%%%2021-9-2更新%%%%%% 更新使用docker安装连接宿主机的数据库 介绍 Apache Superset是一个现代的、企业级的商业智能(Business Intelligence)网络应用程序,它使得用户可以使用无代码可视化构建器和SQL编辑器来轻松探索和可视化自己的数据。 其最初由Airbnb开源,后来由Apache进行孵化,并且于今年(2021年)1 月 21 日宣布毕业并成为 Apache 软件基金会(ASF)的顶级项目(Top-Level Project),截止到现在(2021年8月25日)已经在GitHub上收获了超过4万颗star。 官网地址在这里。 示例看板
Read more »

起因 日常工作中,调用深度学习算法通常需要在命令行中进行,该过程通常涉及复杂的流程,比如修改配置文件、指定文件路径、打开命令行调用算法运行。此时如果能有一个图形界面软件实现“一键调用”,就会极大地节省工作量,提高工作效率,避免来来回回地反复修改文件、执行命令等。 最近新写了一个库,就是把常用的深度学习算法都集成在了ImagePy中,这样用户和开发者就能直接在ImagePy中愉快地“玩”算法了。 OneButtonDeepLearning 该仓库在这里https://github.com/qixinbo/OneButtonDeepLearning。 宗旨就是:让深度学习算法触手可及、一键调用
Read more »

ImagePy的工作流worflow功能能够以可视化的方式逐步执行已定义的一系列图像处理动作,即有机地将复杂的图像处理步骤串联起来,也提供了可视化便捷的交互方式,可以认为是更人性化的“宏命令”。 本文就是解析一下这个组件的底层原理。 文本解析 如下parse函数是读取描述workflow的文件,然后根据每行的标识对其进行解析,比如如果是两个井号开头,则这一行代表是chapter,以及在某个chapter下面还有若干section及其提示信息hint。在底层来说,就是将这些文件信息存储为有层级的python字典。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d
Read more »

简介 本文是对ImagePy的矢量图形绘制工具进行深度解析。 矢量图形相对于位图来说,有其特有的操作,比如两个矢量进行求交集、求并集、求差等。 阅读本文之前,可以先参考之前的这篇文章,以对ImagePy的矢量图形有初步了解。 功能函数 将矢量图形转化为点集 该函数的作用是将矢量图形转换为点集,这里的点作为锚点,可以供后续编辑。 比如对于矩形这一矢量,在shp中定义了它的起始点和长宽,通过该函数,可以将该矩形转为9个点的点集,即将该矩形分成田字格。 (具体到语法上,使用了numpy的mgrid函数,其中的步长设为了复数的形式,具体可以参考这里) 1 2 3 4 5 6 7 8 9 10 11
Read more »

问题描述 给定一个多边形区域,怎样判断某个点是否在该区域内? 如下图所示的蓝色多边形框,判断某点是否在该框内。 定义域 先写出该蓝色框的坐标序列: 1 2 3 4 import numpy as np import matplotlib.pyplot as plt poly = np.array([(0,0),(1,0),(0.7,0.7),(1,1),(0,1),(0.5,0.5),(0,0)]) 注意,该坐标序列是首尾相接的。 然后,定义出任意数量、任意位置的随机点: 1 pts = np.random.rand(80).reshape((40,2)) 这里给出了
Read more »

问题描述 图像中有一条线,如何判断这条线的转折点? 比如下面一张图: 目的是找到图中的三个转折点。 解法 找到轮廓线 1 2 3 img = cv2.imread('test.png', 0) conts = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)[0][0] xs, ys = conts[:,:,0], conts[:,:,1] 这一步实际作用是通过寻找轮廓线,从像素类型的位图中提取有意义的这条线的坐标序列,即矢量序列。 同时将横坐标和纵坐标分别提取出来。 高斯模糊 1 2 gxs =
Read more »

简介 本文介绍ImagePy中的智能画笔工具,它能够很方便地对图像进行像素级标注,尤其是在复杂图像上进行多种类别的标注时,用好这个智能画笔,能使效率飞升。 先来一连串的功能介绍镇楼: (1)鼠标左键 左键:具有联想功能的局部标注 Ctrl+左键单击:吸取颜色 Ctrl+左键:普通画笔 Shift+左键:落笔选定保护色,在矩形框内闭合且非保护色区域被填充 Alt+左键:落笔选定保护色,在矩形框内对该色进行描边 Ctrl+Alt+左键:落笔选定保护色,对任意的非保护色的区域进行标注 (2)鼠标右键 右键:全局填充 Shift+右键:落笔所在的保护色的内部闭合区域被填充 Ctrl+右键:落笔所在的
Read more »

说明 在最近一次在不同电脑间迁移时,使用了Vercel这个站点托管工具,有如下几个优点: * 完全不需要像下面那样在本地搭建开发环境,只需git clone源码到本地即可 * 对源码的更改会自动触发其对站点的部署 * 对大陆的访问友好,速度快 具体的使用教程可以参考该博文。 简介 该博客是基于hexo搭建的,部署在github pages里,用netlify加速。之前一直用自己的笔记本写博客,现在需要换用另一台电脑,因此需要在新电脑上将环境重新搭建一遍,顺便对hexo及其next主题进行升级。 安装Node.js 下载地址见这里。 然后正常安装。 安装完成后,输入node -v和
Read more »

概览 赛事描述 Kaggle上正在进行一项名为“HuBMAP: Hacking the Kidney”的竞赛,链接见这里,总奖金是6万美金,该竞赛的目的是为了检测人体组织中的functional tissue units (FTUs)。FTU的定义是:three-dimensional block of cells centered around a capillary, such that each cell in this block is within diffusion distance from any other cell in the same block,感觉类似于细胞的概念,
Read more »

本文是对极客时间app上王争老师的<数据结构与算法之美>的课堂笔记。 基础概念 算法与数据结构是编程的内功。 从广义上讲,数据结构就是指一组数据的存储和逻辑结构。算法就是操作数据的一组方法。 数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。 因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。(比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但如果我们选择链表这种数据结构,二分查找算法就无法工作了,因为链表并不支持随机访问。) 数据结构与算法中最重要的概念——复杂度分析:数据结构和算法解决的是如何更省、更
Read more »