用skimage学习数字图像处理(001):环境搭建

本节将介绍如何搭建基于Python+skimage的DIP算法设计开发环境。

部分内容参考自网络资源,我尽量加以标注引用,如果确实有部分内容和已有网络资料重复而又没有加引用,还望多多海涵。

目录

1.1 扩展包安装

1.1.1 搭建Python开发环境

1.1.2 安装Scikit-image扩展包

(1)本地安装

(2)在线安装

(3)验证安装是否成功

1.2 其他工具包的配置

1.2.1 SciPy.ndimage的设置

1.2.2 Matplotlib的设置

Q1:如何内嵌式显示处理结果?

Q2:如何提高显示图像清晰度?

Q3:如何设置标注文字字体?

1.1 扩展包安装

1.1.1 搭建Python开发环境

有关Python开发环境的搭建,网上有很多教程。需求不同,内容不同。在此只简单介绍一种适合本教程的方法,不一定是最优的,仅供参考。

首先给出几点建议:

第一,选用windows 64位平台。相信大多数初学者还是更喜欢用windows而不是linux进行算法开发。64位平台很重要,因为我们要装支持64位的开发软件。如果各位所使用的台式机或者笔记本电脑内存在8G以上,就毫不犹豫的安装64位平台吧。

第二,选用Anaconda作为Python构建基础的运行环境,原因懂的都懂。有关Anaconda的安装和配置的帖子,网络上的随处可见,大家尽量去官网下载安装最新版(Anaconda官网下载链接)。不得不说,Anaconda做的太周到了,不仅为我们配置好了常用的Python扩展包(如本教程所用的NumPy、SciPy、MatplotLib等),还集成了多种好用的工具(如Spyder、Jupyter notebook等)。

(上图所示为Anaconda的合作伙伴,来自Anaconda官网)

需要在此强调的一点是,尽管Anaconda在安装过程中会提示用户要修改系统路径,但实际上它什么都没有做。因此,如果想正常运行Python程序,务必要将下面三个路径添加到系统变量中的“Path”下,具体设置方式大家可以自行搜索相关教程。

(以Anaconda安装路径为C:\Anaconda3为例)

  • C:\Anaconda3
  • C:\Anaconda3\Library\bin
  • C:\Anaconda3\Scripts

设置完毕后,系统变量Path如下图所示:

第三,其他工具或扩展包。前面提到,Anaconda安装后,已经集成了各类工具,从IDE开发(如Spyder)到交互式设计(如Jupyter notebook)等等,甚至还在主界面提供了PyCharm的安装链接。但如果你已经迈过了初学者的阶段,想深入的使用更强大的工具开发和涉及更完善的功能,那么你可能还需要单独安装其他相关软件,比如PyCharmPyQt5Visual Studio Code,但那都不是小白目前关心的事。本教程也不涉及上述高级工具的介绍。当然,像一些常用配套的扩展包,如numpy(数值计算)、matpplotlib(绘图)、pandas(数据分析)等等,大家还是应该要了解的。不必要求精通,但至少应该会现学现用

1.1.2 安装Scikit-image扩展包

本小节介绍scikit-image扩展包的安装。

如同其他安装包一样(如Python中常用的另一个DIP扩展包,OpenCV),scikit-image的安装方式主要也有两种,大家根据自己的喜好选择。我们先介绍一种相对复杂且高级方式,然后介绍相对快捷也是推荐的第二种方式。

(1)本地安装

这种方式适用于不联网的机器,过程也不复杂。

首先,下载相应的whl文件(whl文件全称为wheel文件,是Python打包和安装扩展模块的一种格式)到本机指定路径下,比如D:\skimage。然后,调用Python的pip命令,类似“pip install libname.whl”执行安装。

这种方式的优点是安装时不需要网络,或者即便能联网,但是链接外网的速度较慢,又不愿意等待时间太长的情况。不过,由于scikit-image本身更新的并不频繁,基本上是一个季度更新一个小版本。因此,文件下载一次,够用一年。

但对于初学者,还有两个棘手的问题。

第一个问题是whl文件不好找,至少scikit image官网上不好找,不信您自己试试看。当然,这个问题不难解决,有很多网站将常用的python第三方库对应的各个版本的whl文件都汇总好了,方便查找和下载。在此提供两个网址,都是国外的链接,大家可根据个人情况自行选择。

下载链接一:https://pypi.org/project/ ,这个链接更新较快,建议采用。

下载链接二:https://www.lfd.uci.edu/ ,这个链接更新较慢,且主要是面向windows的版本,有很多老的版本。

登录上面任意链接引出的网页,在搜索框中键入:“scikit-image”,即可找到相应的文件。

(scikit-image对应的whl文件下载页面示例,来自第一个链接,为了便于说明,略加修改)

这时第二个问题出现了,即搜索到的文件通常不止一个,除了发布版本的差异之外,还有操作系统的差异,以及Python版本的差异。如上图所示,都是0.22.0版本的文献,按照操作系统,大致分为win(windows)版本、manylinuxlinux版本)和macosx(MacOS版本);按照对应的Python版本,又分为cp312(对应Python3.12版)cp311(对应Python3.11版)和cp310(对应Python3.10版),等等。此时一定要牢记,务必提前确认自己所用的操作系统以及Python版本信息,然后选择对应的版本并下载。你如果还能问出“如何使用Python命令行命令,查询系统安装的Python版本?”这样的问题,那再次暴露了你Python初学者的身份。请大家牢记:启动命令行窗口,输入`python -V`或者`python --version`命令,屏幕即显示本机安装的Python版本信息。

举个实例,比如我使用的是64位的Windows11,安装的Python是3.10版,则下载名字为scikit_image-0.22.0-cp310-cp310-win_amd64.whl”的库文件到指定路径下,然后将命令行的当前路径与上述文件的存储路径一致,键入:

pip install scikit_image-0.22.0-cp310-cp310-win_amd64.whl

如果一切正常,只需等待几秒钟,就能见到类似下图所示的安装成功提示信息。

第一种离线安装到此结束,怎么样,是不是还是觉得有些繁琐呢?没关系,如果你不想绕这么多圈子,而且能流畅的链接外网,还有第二种方式可供选择,特别适合小白使用。

(2)在线安装

假如您是位刚刚接触Python编程的小白,或者您已经对第一种安装方法熟练掌握了,建议直接使用这种方式。

在线安装有多简单?简单到只需要一个操作。在保证电脑能联网的前提下,打开Anaconda自带的Prompt,然后键入:

pip install scikit-image

然后呢?然后就没有然后了,等不到半分钟就提示安装成功了。是不是非常简单?

(3)验证安装是否成功

如何验证是否成功安装了scikit-image呢?在此介绍一种简单快捷的方法。

打开cmd,在命令行窗口,启动Python,然后键入以下语句:

import skimage

然后屏幕上没有任何报错的显示,就说明已经正确将Skimage工具包载入到了内存,即sci-kit image成功安装了。

1.2 其他配置

这部分的配置不是必需的。但如果你和我一样,喜欢用Jupyter Notebook(以下简称Notebook)整理撰写交互式笔记,则建议看一下下面的内容。

1.2.1 Jupyter Notebook的设置

有关Jupyter Notebook的配置很多,在此主要介绍如何修改Jupyter Notebook默认的工作路径。

大家刚开始使用Jupyter notebook时,可能都很有类似的困惑,即点击Jupyter Notebook图标,会跳转到一个很奇怪的路径下。如果不做修改,我们边界的notebook文件都默认存在 该路径下,这很不方便。因此,在使用notebook时,通常先完成其默认工作路径的修改工作。

修改Notebook默认工作路径的方法有很多,但因为Jupyter Notebook的安装方式,以及不同系统的配置存在差异,不一定所有的方法都有效,在此介绍一种面向Windows系统,并基于Anaconda安装Jupyter Notebook的方式。

第一步:生成配置文件

打开 Anaconda Prompt,键入:

jupyter notebook --generate-config

该命令的作用是生成 Jupyter notebook 的配置文件“Jupyter_notebook_config.py”,其存放路径通常是“C:\Users\Administrator\.jupyter\ ”

如果是第一次运行,会直接生成这个文件。如果曾经运行过这个命令,则会提示是否覆盖原来的文件。

第二步:修改配置文件

打开jupyter_notebook_config.py文件。搜索找到该变量所在行,c.NotebookApp.notebook_dir,将新的路径赋值给这个变量,并删除这一行前面的“#”,并保存。如下图所示:

注意

  • 一定要确保删除 “#”,取消这一行的注释模式。
  • 这一行代码前不能有空格,且路径一定要是已经存在的,否则会闪退。且路径要用英文单引号括起来。
第三步:修改快捷方式属性

参考下图,找到Jupyter Notebook的快捷方式,右键打开属性,将“目标”最后面的 “%USERPROFILE%” 删除就可以了。

此时,再次点击“Jupyter notebook”图标,会自动转到刚才设置的路径下。

除此之外,还有其他一些有关Jupyter Notebook的设置。由于和本教程关系不大,在此不再赘述,请读者自行查阅相关资源。

1.2.2 SciPy.ndimage

Scikit-Image作为SciPy的一个子库,有部分基础的功能并不能单独实现,比如图像处理领域常用的卷积操作,以及频域的FFT等等。这些功能可调用SciPy中的其他子库来实现,比如,后面章节中常用到的ndimage库。

在安装了Anaconda后,ndimage模块集成在了SciPy中,因此不需要单独安装。可用以下语句验证是否正常安装该模块。

from scipy import ndimage 

如果系统没有给出任何错误提示,则说明已安装了该模块。

1.2.3 Matplotlib配置

对于大部分人和大部分应用场景,Matplotlib是Python中最常用的2D绘图扩展包,兼顾强大的功能和易于使用的优点。

为了方便大家快速掌握相关技巧,这部分我们采用Q&A的方式来组织。

Q1:如何内嵌式显示处理结果?

比如我们想将处理之后的图像或者波形图,直接在代码下方显示。这样就能实现在同一个窗口中同时显示代码和结果,并方便的观测不同的参数对处理结果的影响。

A1:键入以下代码,原因不解释。

%matplotlib inline

Q2:如何提高显示图像清晰度?

使用Matplotlib显示图形/图像时,其分辨率(ppi)较低,导致最终呈现的图形/图像不够清晰。

那么,如何提高Matplotlib显示图形/图像的ppi呢?

A2:键入以下代码,原因不解释。

%config InlineBackend.figure_format = 'retina'

通常,上述两行设置是配套使用的。

Q3:如何设置标注文字字体?

如果不单独设置,Matplotlib将使用默认的系统字体作为处理结果的标注字体,但有时很难看。

A3:键入以下代码,将字体设置为楷体(标识符为KaiTi),原因不解释。

plt.rcParams['font.sans-serif'] = 'KaiTi'  

除了上述设置之外,还有许多更细致的设置,在此不再一一列出,大家自己百度吧。

(本节初稿完成时间:2024-1-24)

(第一次修订完成时间:2024-2-29)

(未完待续,欢迎对DIP+python算法开发感兴趣的初学者,尤其是相关专业本科和低年级研究生关注,本专栏完将持续更新,总篇数不会少于100篇,每篇不会少于3000字,专栏完成之前(估计至少半年)完全免费阅读,敬请关注)

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值