数字图像处理-常用基础操作

前言

使用 skimage 包多一点
skimage包的全称是scikit-image SciKit,内有许多子模块

子模块名称 主要实现功能
io 读取、保存和显示图片或视频
data 提供一些测试图片和样本数据
color 颜色空间变换
filters 图像增强、边缘检测、排序滤波器、自动阈值等
draw 操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等
transform 几何变换或其它变换,如旋转、拉伸和拉东变换等
morphology 形态学操作,如开闭运算、骨架提取等
exposure 图片强度调整,如亮度调整、直方图均衡等
feature 特征检测与提取等
measure 图像属性的测量,如相似性或等高线等
segmentation 图像分割
restoration 图像恢复
util 通用函数

1.导入 显示 保存图像

读取自带图像或读取外界图像,读入的图像是以numpy数组形式计算
读取自带图像:

from skimage import io, data
img = data.chelsea() #chelsea是skimage自带的图像

自带图像保存在skimage安装路径下,查看路径操作如下:

from skimage import data_dir
print(data_dir)

读取外界图像,使用skimage.io.imread(‘…’)函数

from skimage import io
img=io.imread('d:/dog.jpg',as_grey=True) # 打开灰度图片
	#as_grey默认为False

显示图像

io.imshow(img)  #需导入io子模块

保存图像

io.imsave('d:/cat.jpg',img)
#第一个参数表示保存的路径和名称,第二个参数表示需要保存的数组变量

io批量打开图像

# 例:打开c盘cc文件夹下所有jpg格式文件
dir = 'c:/1/*.jpg' 
img = io.ImageCollection(dir)

2.查看图片信息

# img在上边已定义
print(type(img))  #显示类型 
print(img.shape)  #显示尺寸
print(img.shape[0])  #图片高度
print(img.shape[1])  #图片宽度
print(img.shape[2])  #图片通道数
print(img.size)   #显示总像素个数
print(img.max())  #最大像素值
print(img.min())  #最小像素值
print(img.mean()) #像素平均值
print(img[0][0])#图像的像素值

3.彩色图像

彩色图像获得不同通道矩阵

R = img[:,:,0] #获得图像R通道,下类似
G = img[:,:,1]
B = img[:,:,2]

彩色图像转化为灰度图像

gray_img = color.rgb2gray(img) # color为skimage的子模块

4.直方图与均衡化

  1. 计算直方图

skimage库中以exposure模块计算

skimage.exposure.histogram(image, nbins=256)

histogram的NumBins值可以人为设定,在未指定该参数时,系统将基于图像的灰度分布自动计算NumBins的值。

numpy包中,也有计算直方图的函数histogram(),两者大同小义。

二者计算都返回一个tuple(hist, bins_…), 前一个数组是直方图的统计量,后一个数组是每个bin的相关值

import numpy as np
from skimage import exposure,data
image =data.camera()*1.0
hist1=np.histogram(image, bins=2) #用numpy包计算直方图
hist2=exposure.histogram(image, nbins=2) #用skimage计算直方图
print(hist1)
print(hist2)

输出

(array([107432, 154712], dtype=int64), array([ 0. , 127.5, 255. ]))
(array([107432, 154712], dtype=int64), array([ 63.75, 191.25]))

分成两个bin,每个bin的统计量是一样的,但numpy返回的是每个bin的两端的范围值,而skimage返回的是每个bin的中间值

Guess you like

Origin blog.csdn.net/weixin_44365213/article/details/105304443