文章目录
-
-
- 图像基本操作
-
- PIL:Python图像处理类库
- 灰度图像
- 创建图像缩略图
- 调整尺寸和旋转
- Matplotlib绘制图像、点和线
-
- 选择颜色和样式
- 图像轮廓和直方图
-
- 绘制图像轮廓
- 绘制图像直方图
- Numpy-直方图均衡化
-
- 灰度变换
- 直方图均衡化
- SciPy-高斯滤波
-
图像基本操作
PIL:Python图像处理类库 ? PIL (Python Imaging Library)图像库提供了很多常用的图像处理及很多有用的图像基本操作,如图像缩放、裁剪、旋转、颜色转换等
灰度图像 convert()方法实现
pil_im = Image.open('./pic.jpg').convert('L')
创建图像缩略图 thumbnail()方法,参数指定大小
pil_im.thumbnail((128,128))
调整尺寸和旋转 resize()方法,参数调整所需大小
rotate()方法逆时针旋转
out = pil_im.resize((64,64))
out = pil_im.rotate(45)
Matplotlib绘制图像、点和线
im = array(Image.open('pic.jpg'))
imshow(im)
x = [10,10,40,40]
y = [20,50,20,00]
plot(x,y,'r*')
plot(x[:2],y[:2])
title('Plotting: "empire.jpg"')
选择颜色和样式
plot(x,y) # 默认为蓝色实线
plot(x,y,'r*') # 红色星状标记
plot(x,y,'go-') # 带有圆圈标记的绿线
plot(x,y,'ks:') # 带有正方形标记的黑色虚线
图像轮廓和直方图 绘制图像轮廓
im = array(Image.open('pic.jpg').convert('L'))
figure# 新建
gray()# 灰度
contour(im, origin='image')
axis('equal')
axis('off')
绘制图像直方图 hist()函数绘制,首先用flatten()压平
im=array(Image.open('./pic.jpg').convert('L'))
gray()
hist(im.flatten(),128)
Numpy-直方图均衡化 numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
灰度变换
im = array(Image.open('pic.jpg').convert('L'))
im2 = 255 - im # 反相处理
im3 = (100.0/255) * im + 100 # 像素值变换100~200
im4 = 255.0 * (im/255.0)**2 # 图像像素值求平方
直方图均衡化
def histeq(im,nbr_bins=256):
imhist,bins = histogram(im.flatten(),nbr_bins,normed=True)
cdf = imhist.cumsum()
cdf = 255 * cdf / cdf[-1] # 归一化
im2 = interp(im.flatten(),bins[:-1],cdf)
return im2.reshape(im.shape), cdf
SciPy-高斯滤波 【计算机视觉|计算机视觉 图像基本操作】使用滤波操作的scipy.ndimage.filters 模块,用快速一维分离的方式来计算卷积
from PIL import Image
from numpy import *
from scipy.ndimage import filters
im = array(Image.open('pic.jpg').convert('L'))
im2 = filters.gaussian_filter(im,5)
推荐阅读
- Python的模块调用
- opencv|图像基础入门--图像基本操作
- 数字图像MATLAB|TIT 数字图像处理 原理与实践(MATLAB) 入门教学 实验一 常用的MATLAB图像处理命令与图像基本操作
- python|opencv图像处理及视频处理基本操作
- #|论文笔记(Fine-Grained Visual Classification via PMG Training of Jigsaw Patches)
- 数据增强|细粒度识别 DCL 论文及代码学习笔记
- ModuleNotFoundError No module named 'PIL'问题解决
- opencv|Ubuntu下Opencv的安装(亲测有效,超级简单!)
- python|计算聚类系数clustering coefficient的python实现