关于图像处理知识,已经有很多优秀的狗写了很棒的博文,我只是记录下自己的学习途径,整理总结我学到的知识,欢迎同好的交流,欢迎大家的批评和指正。
blockdiagramofadigitalimagingsystem图像形成过程:图像形成、模数转换、打印
图像分析
niquist采样规律:为采样率建立充分的条件,使离散采样序列能够从有限带宽的连续时间信号中捕获所有信息。
采样频率最高频率的2倍,即:
s 2 m a x,f s 2 f m,T s 1 2 f m= m _s 2_{max},f_s 2f_m,t_s_frac{1}{2f_m}=_frac{pi}
采样方式:
机械直接转换空间内采样CCD光电转换图像采样质量判据: dpi
解决方案分辨率取决于空间、采样质量和分辨率dpi
图像沿一个轴的像素数
w=dpi*D图像的大小
image size=resolution* bit/pixel
计算大小需要估计显存和内存的大小
图像中的列数必须是4的倍数,以便使用位图进行存储,不足的部分将自动填充零
金砖国家也进行离散化
bit能用多少位表示2^8的颜色?
RGB 3*8=24 256种颜色
each grid is a pixel/voxels
像素数对分辨率有反应,像素值对亮度有反应
三维图像收集成为体素
Neighborhood adjacency区域,4 (十字)或8 (米,全连通) 26附近)。
磁共振信号波长短、能量低、不电离
PET X-ray能量更强电离,需要防护
color space RGB color space最常见的编码方式
000表示黑色
三维空间模型表示颜色(这里应该有图) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )。
通过对RGB作业施加不同的权重,能够将3色变换为灰度空间,相反地,能够用伪彩色进行图像的强调显示
CMY space
减法三原色cyan yellow magenta
cmy=[ 1,1,1 ]-[ r,g,B]
与RGB相反的颜色
CMYK space
用k表示黑色,从CMY中减去k放入
行表示,改善了打印的效果,节省墨水HSV space
hue 色调
saturation 饱和度
intensity 密度
LAB 空间,A B两者是高度无关的
histogram直方图 基本性质横向:图像分成的区间,表示灰度值
纵向:像素落在区间的数量
灰度直方图反应的是图像灰度的统计性质,不包含空间位置信息
从直方图可以看出图像的总体性质,比如明暗程度、细节是否清晰、动态范围大小
dynamic range 动态范围图象中最亮的颜色和最亮的颜色的差距有多大,和中间的分布无关
但是范围相同的不一定呈现相同,直方图集中分布的位置也决定了图像的显示质量
contrast 对比度相近的区域之间密度的差异有多大
对比度整体计算、RMS contrast计算
调整图像改变contrast,改变的范围可以看清楚
改变特征,提取有特征的代表性
CT值CT成像特有的参数,因为CT是根据组织密度进行成像,所以,密度不同的组织CT值不同
CT值以水为参照,吸收系数比水小的CT值为负,比水大CT值为正值
C T n u m b e r = 1000 ∗ μ − μ w a t e r μ w a t e r CT number = 1000 * frac{μ - μ_{water}}{μ_{water}} CTnumber=1000∗μwaterμ−μwater
窗口函数:不同的区域窗口函数,可以特异性的放大某个区域的CT值,方便更好的观察图像
从L到M原来的小灰度段称为窗宽,记作W,W = M - L。窗口的中间灰度值成为窗位,W和L的值可以人工设置
从映射曲线斜率可以看出与直方图拉伸、压缩之间的关系
当 θ > 45° , 灰度段拉伸,有助于观察当 θ < 45° , 灰度段压缩,有抑制背景的作用 直方图归一化图像的动态范围的合理选择可以通过直方图的归一化来实现
即将每个灰度对应的像素数与总像素数的比值来确定纵坐标的刻度
p i = n i N p_i = frac{n_i}{N} pi=Nni ( i = 0 , 1 , 2 , … … , k − 1 ) (i = 0, 1, 2, ……, k-1) (i=0,1,2,……,k−1)
∑ k − 1 i = 0 p i = 1 displaystylesum_{k-1}^{i = 0} p_i = 1 k−1∑i=0pi=1
医学图像具有低灰度值背景区域较大,所以使用另一种计数方式
q i = α n i n m a x q_i = alphafrac{n_i}{n_{max}} qi=αnmaxni
直方图的线性拉伸与压缩受人眼分辨能力限制,灰度差小于 I m a x / 16 I_{max}/16 Imax/16 就很难分开,所以通过映射的方法将之前的图片分开,成为直方图的拉伸,压缩和拉伸最常使用的方法是线性映射
对于同一图像进行处理可以使用分段线性函数进行处理
插值最近邻插值:如名字所示,根据最近点的值进行插补,只用到一个点进行插值,模糊较大,快速但误差大
双线性插值法:使用四个点的值,做两方向、共三次插值(R2→R1→P)
特点:一般能得到满意结果,但是具有低通滤波的特性,使图像的高频损失
三次多项式插值:使用多项式对点进行插值,线性插值是一个特例,用n+1个点的信息对n阶多项式进行拟合
sinc函数: c ( x ) = s i n ( π x ) π x c(x) = frac{sin(pi x)}{pi x} c(x)=πxsin(πx)
结果可靠,但是计算量较大
ITK library可以再Python中调用ITK的包,使用ITK工具包进行图像的处理和调用
simpleITK Python
pip install SimpleITK