python机器视觉学习笔记(一)

第一章 基本的图像操作和处理

1.1PIL:Pyhton的图像处理类库

from PIL import Image

pil_img = Image.open("图片地址")

pil_img就是一个PIL的图像对象

图像的颜色转换方法convert

转换成灰度图像.convert("L")

1.1.1转换图像格式

Image.save()open函数用于创建PIL的图像对象而save方法用于保存图像到具体指定文件名的文件

PIL函数会进行简单的检查,如果不是jpeg会自动进行转换

1.1.2创建缩略图

函数:thumbnail():接受一个元组参数,用于指定生成的缩略图的代销,然后将图像转换成符合元组参数的制定大小的缩略图。

eg.pill_img.thumbnail((128,128))

1.1.3赋值和粘贴图像区域

函数:crop:可以从一幅图像中裁剪指定区域

一个四元组用来表示(←,↑,→,↓)

PIL坐标系,左上角为(0,0)

获取了一定的区域然后使用paste的方法将区域放回去

1.1.4

条恒尺寸和旋转

函数:resize同样用元组表示大小,可以调整图片的尺寸

函数:rotate用数字表示逆时针旋转

1.2Matplotlib

1.2.1绘制图像点和线

eg.

from PIL import Image
from pylab import *
im = array(Image.open("图片路径")
imshow(im)绘制图像
x = [1,1,4,4]点
y = [2,5,2,5]点
plot(x,y,"r*")点上色(红)
plot(x[:2],y[:2])
title('title_name:"图片名')
show()
pylab中的一些格式

.点

O圈

s正方形

*型号

+加号

X叉号

1.2.2图像轮廓和直方图

figure()创建图像

show()显示图像

绘制图像等轮廓线:contour(im,origin = "image")

直方图:hist(im.flatten(),128) flatten参数用来将多维数组转化成一维数组,hist函数的第二格参数是小区间的数目

1.2.3交互式标注

ginput()交互式标注点

1.3NumPy(nmb怎么装怎么GG)

python科学计算工具包

1.3.1图像数组的表示

类型一般默认为uint 8位

可以自行声明 float double

数组中的元素可以通过下标访问 value = im[i,j,k] i行j列k为颜色通道

多个数组元素的访问方法:切片

im[i,:] = im[j,:]把第j行的元素赋值给第i行的元素

im[:,:]访问所有元素前面的冒号代表行,后面的冒号代表列,中间用逗号隔开

1.3.2灰度变换

反转:像素数-im(黑变白,白变黑)

归一:分数*im(用于取原区间的前部分) + 一个数(取从这个数为基数往上的区间)(颜色归一,向该数靠拢)

加重:平方(使暗的更暗)

1.3.3图像缩放(同上)

1.3.4直方图均衡化

灰度变换中的一个有用的例子,指的是将一幅图像的灰度直方图扁平,是变幻后的图像中每个灰度值的分布概率都相同,在对图像作进一步处理之前,直方图均衡化通常是对图像灰度值进行归一化的一个非常好的方法,并且可以增强图像的对比度。




你可能感兴趣的:(机器视觉笔记)