python电影分析,python电影评论数据分析

  python电影分析,python电影评论数据分析

  基于Python的图片比较原文地址-how-to: Python比较两张图片-

  看了作者的原文,感觉文章很好理解。根据个人理解编译成中文,不逐句翻译。因为找不到原文图片,文末个人测试图片来自网络。

  原文主要用MSE(均方误差)和SSIM(结构化相似指数)来对比图片。环境python3/opencv3原文效果图

  1.图片样本

  观察上面三张图,左边是原图,中间是对比度调整后的图,右边是带logo的原图。通过观察可以知道,左边和中间的图片几乎一模一样,只是颜色稍微深一点,但是算出来的MSE显示左边和右边的图像更像。下面详细介绍一下。

  2.MSE和SSIM

  计算两张图片的均方差,参考码如下:

  DEF MSE (imagea,imageb):err=NP . sum((imagea . astype( float )-imageb . astype( float )* * 2)ERR/=float(imagea . shape[0]* imagea . shape[1])返回ERR当然

  来自sk映像。measure import compare _ MSE as MSE MSE很容易实现,但是判断图片相似度的时候有个问题,图片像素值之间的差异,不代表图片内容之间的差异,比如明暗。为了解决这一问题,早在2004年,王等人就提出了结构相似性指数。

  计算公式:

  显然SSIM比MSE更复杂,但关键点是SSIM试图对图像结构信息中的感知变化进行建模,而MSE实际上是对感知误差的估计。

  取值范围为SSIM[-1,1],1代表完全相同MSE因为是均方差,数值越小越一样,0代表完全相同

  SSIM撇油量的计算方法已打包直接使用。原文较早,structural_similarity已改为compare_ssim。

  从skimage。衡量标准导入比较_ SSIM ASSSIM 3。新增了SK图像中mse的计算加入到图像比对中,结果表明与自构建函数的mse结果完全一致。

  比较图像(imagea,imageb,title): m1=MSE (imagea,imageb) #构造函数m2=MSE _ ski (imagea,imageb) # skimage封装函数s=ssim(imageA,imageB)fig=PLT . figure(title)PLT . suptitle( MSE:% . 2f,MSE With Ski: %.2f,SSIM: %.2f%(m1,m2,s))ax=fig.add_subplot(1,2,1)plt.imshow(imageA,Cmap=plt.cm

  (1)将原始图片的MSE和SSIM结果与其自身进行比较;

  (2)比较调整原始图像对比度前后的MSE和SSIM结果;

  (3)在将原始图像添加到标志之前和之后,比较MSE和SSIM结果;

  原图和自己100%相似,所以MSE: 0,SSIM:1.0;

  调整对比度前后对比,很明显图片不一样,MSE已经很大了,SSIM给出相似度0.78,那继续对比;

  添加logo前后,MSE应该是大于对比度调整的,因为添加logo后图片内容发生了变化。我们可以看到调整对比度前后的MSE都变小了,SSIM给出了一个更合适的结果。

  5.个人测试图片和代码参考我的github。

  6.总结图片对比,可以用两种方法:MSE和SSIM

  MSE计算速度快,但是有一些缺点:(1)全图比较;(2)只处理图片的差异;

  SSIM相对较慢。与全图比较相比,可以比较图片的局部信息结构。

  那么用哪种方法呢?

  一般来说,SSIM会给出更好的结果,但会消耗更多的资源;

  在原作者看来,他更追求精准度的提高,所以更喜欢SSIM。

  人是不一样的,根据自己的需求选择自己需要的方法。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: