IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【全网首发】图像可视化新利器Seaborn-image保姆级教程 -> 正文阅读

[人工智能]【全网首发】图像可视化新利器Seaborn-image保姆级教程

图像可视化在计算机视觉领域 (Computer Vision, CV) 非常常见,本次分享一个非常优质的Python图像可视化工具seaborn-image,代码量非常低

Seaborn-image灵感源自Seaborn,风格如同Seaborn亲儿子🐶,强烈建议对比着Seaborn用,比如下文一直提到的Axes level/Figure level概念,多多参考👉Seaborn学会

目录

安装

二维图像可视化

图像分布可视化

RGB图像可视化

多维度图像可视化?

?多个图像集可视化

图像过滤方法一

图像过滤方法二

图像个性化设置?

小结


安装

pip install -U seaborn-image

二维图像可视化

主要使用seaborn_image.imgplot函数,Axes level方法,类似matplotlib.imshow,默认参数绘图,

import seaborn_image as isns

pol = isns.load_image("polymer") #倒入数据
ax = isns.imgplot(pol) #绘图

更多细节:为图像添加比例尺、colorbar、colormaps等等,?

import seaborn_image as isns

isns.set_context(
    "poster"
)  #设置主题,包含 ‘paper’, ‘notebook’, ‘presentation’, ‘talk’,‘poster’,默认为 “paper”.

isns.set_image(cmap="inferno", )  #配色方案设置
pol = isns.load_image("polymer")
ax = isns.imgplot(
    pol,
    describe=True,  #添加描述性统计
    cbar_label="Height(nm)",  #添加colorbar标题
    cbar_ticks=[0, 15, 40],  #设置colorbar刻度
    orientation="v",  #colorbar方向
    cbar=True,  #colorbar开启
    **{
        "dx": 20,
        "units": "nm"
    },  #添加比例尺
    despine=True,  #边框线开启
)

seaborn_image.imgplot — seaborn-image documentation

图像分布可视化

主要使用seaborn_image.imghist函数,Figure level方法,

import seaborn_image as isns

img = isns.load_image("polymer")
f = isns.imghist(
    img,
    #添加比例尺
    dx=15,
    units="nm",
    cmap="inferno",  #配色
    cbar_label="Height (nm)", 
)

?

RGB图像可视化

使用seaborn_image.rgbplot()函数,Figure level方法,将图像按图像的通道数(channels)可视化,

import seaborn_image as isns
from skimage.data import astronaut #加载示例图像

isns.set_image(origin="upper")  
g = isns.rgbplot(
    astronaut(),
    height=3.5,  #图像高度 
    aspect=1.0,  #图像间距
    cmap="inferno")

多维度图像可视化?

使用seaborn_image.ImageGrid函数,Figure level方法,支持按指定切片、沿着某个轴、步长等方式切割多维度数据后可视化,

#导入数据
import seaborn_image as isns
from skimage import exposure
cells = isns.load_image("cells") #吃网速,可单独下载

#按指定切片切割3D数据
g = isns.ImageGrid(cells, slices=[10,20,30,40,50,55],cmap="inferno")

#按切片+指定轴切割3D数据
g = isns.ImageGrid(
    cells,
    slices=[10, 20, 30, 40, 50, 55],
    axis=1,  #指定轴
    cmap="inferno",
    height=2.5,
    aspect=1,
)

#指定步长切割3D数据
g = isns.ImageGrid(
    cells,
    step=3,
    start=10,
    stop=40,
    cbar=False,
    cmap="inferno",
)

?

g = isns.ImageGrid(
    cells,
    cbar=False,
    height=1,
    col_wrap=10,#指定行显示数、图像大小
    cmap="inferno",
)

多个图像集可视化

依旧使用seaborn_image.ImageGrid函数,此时传入两个数据集,对应参数个性化传入数组即可,

import seaborn_image as isns

pl = isns.load_image("fluorescence")  #数据集1
polymer = isns.load_image("polymer")  #数据集2

img_coll = [pl, polymer]

g = isns.ImageGrid(
    img_coll,
    cmap=["magma", "inferno"],  #传入数组色度条
    cbar_label=["PL Intensity", "Height (nm)"],  #传入数组比例尺标题
    dx=[0.1, 0.015],  #传入数组比例尺
    units="um",
    height=5)

图像过滤方法一

使用seaborn_image.filterplot,Axes level方法,快速对图像做傅立叶变换,

import seaborn_image as isns

pol = isns.load_image("polymer")
ax = isns.fftplot(pol, cmap='inferno')  #快速傅立叶变换

重点介绍filt参数修改Filter算法,filt调用seaborn_image算法,

isns.implemented_filters.keys()#输出seaborn_image可用filter算法
['sobel', 'gaussian', 'median', 'max', 'diff_of_gaussians', 'gaussian_gradient_magnitude', 'gaussian_laplace', 'laplace', 'min', 'percentile', 'prewitt', 'rank', 'uniform']
import seaborn_image as isns

pol = isns.load_image("polymer")
ax = isns.filterplot(pol, filt="median", size=5, cmap='inferno')  #filt修改算法为median

filt调用skimage.filters中算法 ,

#调用skimage.filters中算法
from skimage.filters import scharr

ax = isns.filterplot(pol, filt=scharr, cmap='inferno')

图像过滤方法二

使用seaborn_image.FilterGridt函数,Figure level方法 ,多维度对图像做比较过滤,类似于seaborn中的图像分面,

import seaborn_image as isns

pol = isns.load_image("polymer")
g = isns.FilterGrid(
    pol,
    "median",
    col="size",  #按照size维度比较
    size=[1, 2, 3, 6, 7, 9],
    col_wrap=3,
    cmap='inferno')

g = isns.FilterGrid(
    pol,
    "percentile",
    row="percentile",  #同时按照percentile维度比较
    col="size",  #及按照size维度比较
    percentile=[3, 5, 7, 10],
    size=[3, 5, 7, 10],
    **{
        "dx": 15,
        "units": "nm"
    },  #比例尺
    cmap='inferno')

图像个性化设置?

共五个函数,一一说来。

seaborn_image.set_context设置图像主题、字体、外框、调用matplotlib.rcParams参数等,

import seaborn_image as isns

isns.set_context(mode="poster", fontfamily="sans-serif")  #图像主题poster,字体
isns.set_context(rc={"axes.edgecolor": "red"})  #外框设置为红色

?无set_context设置效果,

?set_context使用后效果?,

seaborn_image.set_image设置图像配色等,

import seaborn_image as isns

isns.set_image(cmap="deep", interpolation="bicubic")  #设置色度条
isns.set_image(despine=True)  #设置外框关闭、默认开启

from skimage.filters import scharr

ax = isns.filterplot(pol, filt=scharr)

其它seaborn_image.set_scalebar设置colorbar、seaborn_image.set_save_context设置图像保存的时的分辨率等参数、seaborn_image.reset_defaults恢复设置为matplotlib默认参数,不一一介绍。

参考:https://github.com/SarthakJariwala/seaborn-image

小结

如果你苦于Matplotlib、选择了Seaborn,那么一定要去学一下seaborn-image,小编目前遇到最简单的图像可视化工具。

seaborn-image超详细文档.PDF下载:👇【首发】Python图像可视化新利器Seaborn-image保姆级教程

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:28:52  更:2021-12-24 18:29:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 23:39:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码