一、数字图像表示
1、f(x,y)就是f(灰度)值:图片的像素都划分为0-255之间的数
from PIL import Image
import matplotlib.pyplot as plt
plt.figure()
im = Image.open("a.jpg")
plt.subplot(1,2,1)
# # 二值图
im_gray = im.convert('1')
plt.imshow(im_gray)
# # 灰度图
plt.subplot(1,2,2)
im_two = im.convert('L')
plt.imshow(im_two,cmap='gray')
plt.show()
2、图像的动态范围
系统最大可度量灰度与最小可检测灰度之比,上限取决于饱和度(超过这个值的灰度级将被剪切掉的一个最高值),下限取决于噪声(较暗的区域,掩盖了可检测的最低真实灰度级)。
3、**对比度:**最高和最低灰度级间的灰度差
4、2的k次方个灰度级称为k比特图像,0-255的灰度值图像就叫8比特图像,k的减小倾向于对比度增加
二、图像内插
1、**内插:**用已知数据来估计未知位置的数值的处理,常用于放大,收缩等
2、最邻近插值即是选取一个最靠近的像素为它的像素值,如果原图为55,缩放后的图为33,那么缩放后的图的像素点(1,1)对应的就是原图中([5/3 * 1], [5/3 * 1]) = ([0.6], [0.6]) = (1,1) 像素点对应的像素值
3、双线性插值(本质上不是线性),考虑了周围四个点的坐标,见https://www.cnblogs.com/wanghui-garcia/p/11171954.html
4、双三次插值考虑的是周围16个像素的像素值,其权重因子的计算比较复杂。
三、像素间的一些基本关系
1、四邻域
2、八邻域
3、 4邻接: 像素q位于像素p的4邻域内(也就是p的上下左右4个位置中的一个),且两者像素值相等;
4、8邻接: 像素q位于像素p的8邻域内(也就是p的上下左右和斜对角共8个位置中的一个),且两者像素值相等;
5、 m邻接(混合邻接): 像素q位于像素p的8邻域内(也就是p的上下左右和斜对角共8个位置中的一个),两者像素值相等,且再观察p和q的4邻域,像素位置相重叠的位置(取交集),其像素值不等于K;目的是消除8邻接的二义性
有两种类型的m邻接:
6、内边界与外边界:目标内边界的像素全都在目标里面,目标外边界的像素全都不在目标上,是包围着目标的。
四、距离度量
p坐标(x,y),q坐标(s,t)
1、欧几里得距离:
2、D4距离:
3、D8距离:
五、数学基础
1、算子:算子实际上是指从一个函数空间到另一个函数空间(或它自身)的映射
2、图像相减: 增强细节 g(x,y) = f(x,y) - h(x,y)
import cv2
ori1 = cv2.imread('b.jpg')
ori1 = cv2.cvtColor(ori1,cv2.COLOR_RGB2GRAY)
ori2 = cv2.imread('c.jpg')
ori2 = cv2.cvtColor(ori2,cv2.COLOR_RGB2GRAY)
cv2.imshow('b1',ori1)
cv2.imshow('c2',ori2)
# cv2.waitKey()
city3 = ori2 - ori1
city3[city3 <= 55] = 255
cv2.imshow('差',city3)
cv2.waitKey()
3、图像相乘,相除: 校正阴影
4、图像灰度的集合:令灰度级图像的元素用集合A来表示,元素是三元组的形式(x,y,z),其中x和y是坐标,z为灰度。
5、图像几何变换
6、图像变换
一般称原始图像为空间域图像,称变换后的图像为转换域图像,转换域图像可反变换为空间域图像。变换后的图像往往更有利于特征抽取、增强、压缩和图像编码。
傅里叶变换:它是应用最广泛和最重要的变换。它的变换核是复指数函数,转换域图像是原空间域图像的二维频谱,其“直流”项与原图像亮度的平均值成比例,高频项表征图像中边缘变化的强度和方向。