scient
scient一个用python实现科学计算相关算法的包,包括自然语言、图像、神经网络、优化算法、机器学习、图计算等模块。
scient源码和编译安装包可以在Python package index
获取。
The source code and binary installers for the latest released version are available at the [Python package index].
https://pypi.org/project/scient
可以用pip
安装scient
。
You can install scient
like this:
pip install scient
也可以用setup.py
安装。
Or in the scient
directory, execute:
python setup.py install
scient.image
图像相关算法模块,包括边缘检测、图像相似度计算、图像质量评价、图像特征提取等。
scient.image.friqa
全参考图像质量评价模块,包括峰值信噪比(PSNR),结构相似度(SSIM),直方图相似度(HistSim)。
scient.image.friqa.ssim(image1,image2,k1=0.01,k2=0.03,block_size=(8, 8),max_pix=255)
Parameters
image1 : numpy.array 2D
image2 : numpy.array 2D
k1 : float, optional,k1<<1,避免分母为0造成不稳定. The default is 0.01.
k2 : float, optional,k2<<1,避免分母为0造成不稳定. The default is 0.03.
block_size : tuple, optional,将图像分成多个block,采用gaussian加权计算所有block的均值、方差、协方差,进而计算所有block的ssim,最后的ssim取所有block的平均值. The default is (8,8).
max_pix : int, optional default is 255, 像素值的最大值,默认值是255.
Returns
float
Algorithms
SSIM(Structural Similarity),结构相似度,用于衡量两个图像相似程度,或检测图像的失真程度。
SSIM基于样本之间的亮度(luminance,像素平均值)、对比度(contrast,像素标准差)和结构(structure,像素减均值除以标准差)计算。
S S I M ( x , y ) = f ( l ( x , y ) , c ( x , y ) , s ( x , y ) ) SSIM(x,y)=f(l(x,y),c(x,y),s(x,y)) SSIM(x,y)=f(l(x,y),c(x,y),s(x,y))
l ( x , y ) l(x,y) l(x,y)为亮度对比函数,是关于图像的平均灰度 μ x , μ y μ_x,μ_y μx,μy的函数;
l ( x , y ) = 2 μ x μ y + C 1 μ x 2 μ y 2 + C 1 μ x = 1 N ∑ i = 1 N x i C 1 = ( K 1 L ) 2 l(x,y)=\frac { 2μ_x μ_y + C1 } { μ_x^2 μ_y^2 + C1 } \\ μ_x=\frac { 1 } { N } \sum^{N}_{i=1}{x_i} \\ C1=(K_1 L)^2 l(x,y)=μx2μy2+C12μxμy+C1μ