失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python图像质量评价_OpenCV图像质量评价的SSIM算法(图像相似度)

python图像质量评价_OpenCV图像质量评价的SSIM算法(图像相似度)

时间:2020-07-15 07:03:13

相关推荐

python图像质量评价_OpenCV图像质量评价的SSIM算法(图像相似度)

添加函数体。将SSIM函数添加至命名空间后。该函数主要功能是时哟功能ssim算法对两张图像进行比较,并将图像在各通道比较的结果以scalar形式返回。

Scalar getMSSIM(char * imagePatha,char * imagePathb)

{

Mat i1=imread(imagePatha);

Mat i2=imread(imagePathb);

const double C1 = 6.5025, C2 = 58.5225;

int d = CV_32F;

Mat I1, I2;

i1.convertTo(I1, d);

i2.convertTo(I2, d);

Mat I2_2 = I2.mul(I2);

Mat I1_2 = I1.mul(I1);

Mat I1_I2 = I1.mul(I2);

Mat mu1, mu2;

GaussianBlur(I1, mu1, Size(11, 11), 1.5);

GaussianBlur(I2, mu2, Size(11, 11), 1.5);

Mat mu1_2 = mu1.mul(mu1);

Mat mu2_2 = mu2.mul(mu2);

Mat mu1_mu2 = mu1.mul(mu2);

Mat sigma1_2, sigma2_2, sigma12;

GaussianBlur(I1_2, sigma1_2, Size(11, 11), 1.5);

sigma1_2 -= mu1_2;

GaussianBlur(I2_2, sigma2_2, Size(11, 11), 1.5);

sigma2_2 -= mu2_2;

GaussianBlur(I1_I2, sigma12, Size(11, 11), 1.5);

sigma12 -= mu1_mu2;

Mat t1, t2, t3;

t1 = 2 * mu1_mu2 + C1;

t2 = 2 * sigma12 + C2;

t3 = t1.mul(t2);

t1 = mu1_2 + mu2_2 + C1;

t2 = sigma1_2 + sigma2_2 + C2;

t1 = t1.mul(t2);

Mat ssim_map;

divide(t3, t1, ssim_map);

Scalar mssim = mean( ssim_map );

return mssim;

}

如果觉得《python图像质量评价_OpenCV图像质量评价的SSIM算法(图像相似度)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。