使用skimage可便捷实现图像读取、颜色转换与特征提取:先用io.imread读取图像,通过color.rgb2gray转灰度图,再利用feature.canny进行边缘检测,filters.threshold_otsu实现阈值分割,结合numpy统计像素均值与标准差,最终用io.imsave保存处理结果。

使用 skimage(scikit-image)包提取图像信息非常方便,它提供了丰富的函数来读取、处理和分析图像。下面介绍如何用 skimage 读取图像、提取基本特征以及进行简单的预处理操作。
安装与导入
如果尚未安装 skimage,可以通过 pip 安装:
pip install scikit-image
安装完成后,在 Python 中导入常用模块:
from skimage import io, color, filters, feature
import numpy as np
读取图像
使用 io.imread() 可以加载本地或网络图像:
立即学习“Python免费学习笔记(深入)”;
# 读取本地图像
img = io.imread(‘example.jpg’)
# 显示图像(可选)
io.imshow(img)
io.show()
支持格式包括 JPG、PNG、TIFF 等。如果是灰度图,图像数据为二维数组;彩色图为三维数组(高度 × 宽度 × 通道)。
转换颜色空间
常将彩色图像转为灰度图以便后续处理:
# 转为灰度图像
gray_img = color.rgb2gray(img)
也可转为 HSV、LAB 等其他色彩空间:
# 转为 HSV
hsv_img = color.rgb2hsv(img)
提取图像特征
skimage 提供多种方式提取图像中的关键信息:
边缘检测:使用 Sobel 或 Canny 检测算子
edges = feature.canny(gray_img, sigma=3)阈值分割:获取前景区域
thresh = filters.threshold_otsu(gray_img)
binary = gray_img > thresh角点检测:如 Harris 角点
coords = feature.corner_harris(gray_img)纹理或强度统计:可结合 numpy 分析像素分布
mean_intensity = np.mean(gray_img)
std_intensity = np.std(gray_img)
保存提取结果
处理后的图像或掩码可保存到文件:
# 保存二值图像
io.imsave(‘binary_mask.png’, binary.astype(np.uint8) * 255)
# 保存边缘图像
io.imsave(‘edges.png’, edges.astype(np.uint8) * 255)
基本上就这些。通过组合读取、转换和特征提取方法,你可以从图像中有效获取结构化信息,用于分类、分割或目标检测等任务。skimage 接口简洁,适合快速原型开发。
以上就是python如何使用skimage包提取图像的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1377387.html
微信扫一扫
支付宝扫一扫