找回密码
 注册
关于网站域名变更的通知
查看: 399|回复: 2
打印 上一主题 下一主题

PSNR计算

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-11-22 13:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    im1=imread('lena2.bmp');; i) V6 ^* }& G. N$ v
    %im1=im2double(im1);
    7 w+ h- a- _3 n3 yim2=imread('lena_rbhv.bmp');
    * H0 ^" U# L; X& O%im2=im2double(im2);  _7 I4 Y) J5 g
       : U& K' M% o) J- h' i5 y
    if (size(im1))~=(size(im2))% C% J+ o, P$ w* W0 Y
        error('错误:两个输入图象的大小不一致');8 b# |3 N3 E( ?( O
    end
    - d% g  c# ~9 A+ u$ \: i* C1 E& P* K
        [m,n] = size(im1);) ^0 C4 R! O& J6 `! H# L- s
        A = double(im1);
    . u7 X% z9 B7 x: g/ z4 {) |    B = double(im2);
    7 G) Y1 W' [6 r+ {, b! a( [    D = sum( sum( (A-B).^2 ) );%||A-B||^22 M  f. |1 j; E9 x
        MSE = D / (m * n);" [9 K/ _3 G& ~# t7 F( h
    if  D == 0
    , n( W$ V, r/ W9 D6 a; g' c    error('两幅图像完全一样');, q$ U# ~' z* _& E" J, d( p" R
        PSNR = 200;/ t) g$ x, F2 j: h  n% G' T
    else4 i7 n) v* S& Y5 K3 s+ H
        PSNR = 10*log10( (255^2) / MSE );                                                        
    ( a# L# I5 n0 xend# t) u& h$ A* X' b
    7 K; F  I6 J: E( @0 g
    & c8 J/ b/ W9 z, C6 }4 {( ]
    从网上COPY了下 稍微改了下  我不知道这一行为什么出错  请指教! K' b+ W2 K2 k5 e# O
    ??? Subscript indices must either be real positive integers or logicals.
    2 g5 C  T/ t8 w- a4 i+ c9 k3 H4 _# z7 \% [' g/ Q5 C* G
    Error in ==> PSNR_ERRO at 14( A* H/ ?* q, p7 @5 c& @
        D = sum( sum( (A-B).^2 ) );%||A-B||^2
    $ k* S0 g2 Q. H; G& S: u) j9 ?
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2022-11-22 14:58 | 只看该作者
    D = sum( sum( (A-B).^2 ) );指的是什么,为什么有两从sum?
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-11-22 15:08 | 只看该作者
    function main()
    , ?5 }0 @3 h, n4 x/ W9 q% D" lclc; close all;
    3 W/ V7 O" M0 d4 v6 i6 G  F9 GI=imread('cameraman.tif'); %用的是原图1 K# Y% H9 O4 x# m7 D$ t
    I1=imnoise(I,'gaussian',0,0.01);
    % \2 J0 f8 o8 [5 D0 H' ]0 Y3 n* {! Jfigure;  b8 O* P* P2 H& [) }
    subplot(1, 2, 1); imshow(I); title('原图像');( M9 w' b8 z4 s3 H1 p3 n" ^( Z: M
    subplot(1, 2, 2); imshow(I1); title('加噪声图像');5 q0 G  Z5 U& z% k- q$ o! _
    [PSNR, MSE] = psnr(I, I1)
      c' \2 @( X8 ?% 图像峰值信噪比PSNR、均方根误差MSE) J  A0 i1 y6 K- g1 }
    function [PSNR, MSE] = psnr(X, Y)+ n! m$ r9 P3 h6 ]- `( b% N
    % 计算峰值信噪比PSNR、均方根误差MSE2 v: X: z7 U8 E, F! z; X% B
    % 如果输入Y为空,则视为X与其本身来计算PSNR、MSE
    ; K  P! W" I$ e
    / E5 H' h& O4 nif nargin<2% K+ I' g* `# w* W( p
        D = X;3 g! `$ }9 G% N6 ]( {
    else
    6 t) W8 d- [; ^% D4 e1 {  n& q    if any(size(X)~=size(Y)): N8 H, ]6 `! N; W+ {6 ~6 }9 ^- P5 m
            error('The input size is not equal to each other!');( h, R1 d' N( a6 V$ C- n" D' q- J
        end
    ) W$ ]$ N3 L; c0 `; F+ X    D = X-Y;+ ^( ?1 R/ B+ u: {: w. |) z
    end
    / t% m/ ]  A7 p* l5 x. E# hMSE = sum(D(: ).*D(: ))/prod(size(X));; M: `4 H. Y; T5 ~) |+ B% B) r
    PSNR = 10*log10(255^2/MSE);5 k4 D/ h! Q( J% B' C
    function main()8 ~+ ~6 T, R9 }! ~8 P2 e4 X2 @
    clc; close all;: ~4 X) F, L* B) l- j
    I=imread('cameraman.tif'); %用的是原图
    5 s7 h4 T& o+ g8 R2 R! _, |2 B, jI1=imnoise(I,'gaussian',0,0.01);
    9 c9 U2 v5 F5 \. i6 cfigure;2 `; \  _! P& g! f
    subplot(1, 2, 1); imshow(I); title('原图像');
    + ^% r# H+ ?6 X( s: Jsubplot(1, 2, 2); imshow(I1); title('加噪声图像');
    & ^6 R' @2 ?7 E3 s[PSNR, MSE] = psnr(I, I1)
    7 W6 [3 J. G! H! b6 F% 图像峰值信噪比PSNR、均方根误差MSE" ]" j( S# r/ c8 {8 K8 T" b
    function [PSNR, MSE] = psnr(X, Y)
    ( j2 i$ e$ r  i/ L/ n! _, Z) K# j% 计算峰值信噪比PSNR、均方根误差MSE
    3 }  k/ h- Z  V, i; S  I( l) B% w% 如果输入Y为空,则视为X与其本身来计算PSNR、MSE6 D& k' g4 g: m! h+ y: O

    , M3 C( b  e4 Aif nargin<2
    0 P7 w1 L& L/ r" g) W2 |# {5 q, i& V    D = X;( _) |3 X. I4 j" S
    else% A1 r7 E" v  `4 O8 |& x
        if any(size(X)~=size(Y))
    % l/ e: O" _  {4 p7 \        error('The input size is not equal to each other!');/ }+ |0 C  k( N8 G: ?
        end
    8 h" Z, E; a  M) F0 e1 s    D = X-Y;
    ( r7 F6 K* [6 R. u& Send, Z2 F" k5 O) \& O$ s; h; ~) D
    MSE = sum(D(: ).*D(: ))/prod(size(X));
    % T7 \8 X6 P, A  ]2 D! ]: iPSNR = 10*log10(255^2/MSE);
      S$ N3 |6 u2 W7 k6 [" f8 Z% P6 X& r用这个算法算下吧,I为原图 I1为加噪图像% K# E- F( o1 v5 d
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-23 20:28 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表