图片分割之_训练模型和预测
图片分割之 _ 训练模型和预测
1. 说明
本篇使用 Mask R-CNN
算法,以及十几张从网络上下载的香蕉图片,训练一个模型。用于识别图像中的香蕉,不同于苹果,桔子,香蕉从不同的角度看差异很大,尤其是三五根香蕉放连在一起,或者整把香蕉的形态和单根香蕉差异很大。可以算是一种识别起来相对困难的水平。
下图是用训练好的模型识别出的香蕉图片,可以看到,基本识别正确。
操作步骤可分为:安装工具,标注图片,修改源码,模型训练和模型预测。我的工作环境是
Ubuntu,硬件有 GPU 支持,操作过程中使用了 python,图片标注工具,以及
shell 脚本。
2. 安装工具
(1) 下载程序源码
1$ git clone https://github.com/matterport/Mask_RCNN.git # (大概200多M)
(2) 下载相关软件
12345$ sudo pip install opencv-python$ sudo pip install tensorflow$ sudo pip install scikit-image$ sudo pip install ...
Python常用的色板
1. 说明
有时候需要从图像中判断某种颜色,或者获取某个颜色区域,此时常用 HSV
色板判断。因为在 HSV 的色彩空间中,只需要判断颜色通道即可。本篇介绍 HSV
色板,及其在 python 中的转换和使用方法。
2. 色板
(1) RGB
三个通道,红色 Red, 绿色 Green, 蓝色
Blue,值越大颜色越大,当三个值都大时为白色,三个值都为 0 时为黑色。
(1) HSV
三个通道,HSV(Hue, Saturation, Value)
是根据颜色的直观特性创建的一种颜色空间, 也称六角锥体模型 (Hexcone
Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。
[](https://upload-
images.jianshu.io/upload_images/5357893-5e3dce368c7a1cfb.png?imageMogr2/auto-
orient/strip%7CimageView2/2/w/217)
(1) GRAY
灰度图,只有一个通道。
3. 图示代码
12345678910111213141516171819202 ...
图像处理之_ARToolKit自定义Marker
图像处理之 _ARToolKit
自定义 Marker
#图形图像
1. 制作 marker
ARToolKit 支持两种标记,一种是黑白图,另一种是普通图。黑白图使用工具
mk_patt
制作,它有一些硬性的规定,比如必须是黑白图,正方形,且有边框等等。
普通图更灵活,它可以是我们生活中的图像,比如公交卡,身份证等等,但相对黑白图,不那么容易识别,其原理主要是根据图片上的边缘,识别其中的一些点,把这些点之间的关系保存下来,并在摄像机图片中寻找对应的关系,以实现图片识别和跟踪,本文主要介绍操作普通图。
ARToolKit 入门文档请见:图像处理之_增强现实工具ARToolKit
2. 用普通图片制作 marker
(1) 拍一张工交卡的相片,只留前景
(2) 计算特征点
1$ bin/genTexData /tmp/card.jpg
置换时需要输入几个参数,我设置的参数如上图所示,尽量多取特征点,并把 DPI
范围设大,以达到更好的识别效果。
(3) 查看特征点
1$ bin/dispFeatureSet /tmp/card.jpg
可以看到边缘大多被识别到了,对 ...
修改上传文件按钮的风格
修改上传文件按钮的风格
一段 HTML 代码,目标是显示 bootstrap
风络的上传按钮(不带路径显示),且点击后无需再点 submit 按钮,直接发
post 请求。
[](https://img-blog.csdnimg.cn/20190119165910888.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpZXlhbjA4MTE=,size_16,color_FFFFFF,t_70)
<!DOCTYPE html>
<html>
<head>
<link href="bootstrap.css" rel="stylesheet" media="screen">
<style>
.fileinput-button {
...
显示远程机器上的图形界面
显示远程机器上的图形界面
#操作系统/Linux
在使用 SSH 或 Telnet 从一台 Linux 机器 A 连接到另一台 Linux 机器 B
时,通常会遇到 B 机上的图形界面无法显示的问题,报错为:
cannot open display:
此时只需要在你的 A 机上打开配置文件:
$ sudo vi /etc/ssh/ssh_config
写入
ForwardX11 yes
之后重启 sshd 服务
$ service sshd restart
最后重新连接 SSH 或 Telnet 即可.
Bootstrap、Python、Flask做简单的前端
Bootstrap、Python、Flask
做简单的前端
1. 说明
无论做什么类型的程序,都难免需要给别人展示一下。Web
展示是个很好的方案,做起来省事,效果好,可交互,无需安装,跨平台,等等等等,算是个必备技能,与做
PPT 比肩。前一阵用 pyecharts
做网页统计图,发现自己做的界面实在太丑,同时又想引用一些现成的风格和控件,于是学习了一下
Web 前端框架,顺带熟悉一下 JS。菜鸟入门,记录如下,仅供参考。
2. 前端流行框架
先看看几种流行的前端框架:BootStrap, React, Vue。
BootStrap 容易上手,学习成本低,它提供了一些常用的 css 和
js,拿来就能用。
React 是数据单向响应的,数据发生变化时,前端 UI 即可随之变化。React
可管理 Dom 树的变化,使页面呈现更快。
Vue 站在了 React 的肩膀上,
许多方面更出色,如数据的双向绑定,速度更快,组件化,方便打包和发布等等,但相对来说上手的难度较大。
长远考虑, 建议使用 Vue+node.js. 短期简单使用, BootStrap
是个不错的选择 ...
DockerBuild
Docker Build
#Docker
1 1. 说明
之前介绍过用 commit 的方式生成新的 Docker Image,今天介绍用 Build
方式做 image,Build 方式需要写一个配置文件,然后利用当前是已存在的
image,按照配置文件进行调整生成新的 image。
相对来说,commit 方法更随意,我们用它将现场保存为 image,而 build
image 生成的 image 更“干净”。
2 2. 基本操作
(1) 看当前环境
1$ docker images
看一下当前的 image,确定新的 image 是基于哪个
image,记下它的大版本号 (REPOSITORY) 和小版本号 (TAG)。
(2) 写配置文件 Dockerfile
1$ vi Dockerfile
写入以下内容,我这里是安装了一个新 python 包 pyecharts
12FROM 基础大版本号:基础小版本号RUN ["pip", "install", "pyecharts"]
(3) BUILD 新的 ...
Git_常用命令
#版本管理
1 介绍
Git
是一个开源的分布式版本控制系统,现在管理代码一般都用它,一方面是管理各种软件版本,同时也提供对多人并行开发支持。有的在公司内部搭建
Git 服务器,更多情况下是使用 GitHub,GitHub
是一个软件项目托管平台,可以在其上建立公开项目或者私有项目。
在对 Git
工具不太熟悉的情况下,进行复杂操作时,常怕误操作,不敢多做尝试,本篇我们将从零开始,在
GitHub
上建立一个自己的项目,并介绍一些最常用的命令和场景,比如合并代码。
2 在 github 上建立自己的仓库
https://github.com/, 登录,点 new repository 构建新项目
点击 create repository 后项目就新建成功了,这时点 clone or Download
按钮,可看到下载地址。
3 把远程代码的下载到本地
123$ git clone 地址形如:$ git clone https://github.com/xieyan0811/xxx.git
可以用 -b 指定分支名
4 分支操作
4.1 列出当前分支:本地/远程
1$ git bra ...
Linux下使用SQLServer
Linux 下使用 SQLServer
#数据存储/SQLServer #操作系统/Linux
1. 说明
SQL Server 是由 Microsoft 开发和推广的关系数据库管理系统。本文介绍在
Ubuntu 系统下,SQL Server 服务端及客户端的安装,基本命令及如何使用
python 访问数据。
2. 安装
由于 SQLServer 不在默认安装的软件源之中,在 Ubuntu 16.04
上,需要先加入其软件源,安装后再进行一些配置
(1) SQLServer 服务器端
123456789$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - #导入公钥$ sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"$ sudo apt-get update$ sudo apt ...
做图工具pyecharts
做图工具 pyecharts
1. 说明
上次分享了 Flask+Dash 做图,WXXCX 师兄给我留言说:感觉 dash 不如
pyecharts 好用,于是我学习了一下 pyecharts。
ECharts,缩写来自 Enterprise Charts,商业级数据图表,一个纯
Javascript 的图表库,可以流畅的运行在 PC
和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10/11,chrome,firefox,Safari
等)。Pyecharts 是 python 版本的 echarts,与 Dash
相比,我个人更喜欢它的图片配色;在使用上它相似于 matplotlib,不需要像
Dash 一样再去熟悉新的 API 和 callback 的逻辑;最喜欢的地方在于 notebook
可以调,flask
也可以调,调试时和显示在网页上的图完全一样;它还支持地图显示,以及雷达图等等(Dash
是否支持我没试过)。果然更加好用,整理如下。
2. 准备数据
12345import pyechartsattr = ["Jan", " ...