psnr rgb matlab程序
来源:互联网 发布:淘宝店铺标志制作 编辑:程序博客网 时间:2024/05/18 03:44
彩色图像:
%% 计算前后两副图像的均方根误差MSE、峰值信噪比PSNR
X=imread('cat.jpg');Y=imread('cat1.jpg');
[r,cl]=size(X); %读入图像尺寸
c=cl/3;
mse_m=double(zeros(r,c));
%选取算法
disp('1. 彩色图像灰度化');
disp('2. RGB各分量计算法');
choice=input('请选择算法(1,2):')
if(choice==2)
if nargin<2
Xr=X(:,:,1);
Xg=X(:,:,2);
Xb=X(:,:,3);
for i=1:r
for j=1:c
Dr = Xr;
Dg = Xg;
Db = Xb;
end
end
% MSE = sum(D(:).*D(:))/prod(size(X));
mse_r = sum(Dr(:).*Dr(:))/prod(r*c);
mse_g = sum(Dg(:).*Dg(:))/prod(r*c);
mse_b = sum(Db(:).*Db(:))/prod(r*c);
mse = (mse_r+mse_g+mse_b)/3;
else
if any(size(X)~=size(Y))
error('The input size is not equal to each other!');
end
Xr=X(:,:,1);
Xg=X(:,:,2);
Xb=X(:,:,3);
Yr=Y(:,:,1);
Yg=Y(:,:,2);
Yb=Y(:,:,3);
for i=1:r
for j=1:c
mse_mR(i,j)=(Xr(i,j)-Yr(i,j))^2;
mse_mG(i,j)=(Xg(i,j)-Yg(i,j))^2;
mse_mB(i,j)=(Xb(i,j)-Yb(i,j))^2;
end
end
%mse=sum(mse_m(:))/(r*c);
mseRGB=sum(mse_mR(:))+sum(mse_mG(:))+sum(mse_mB(:))
mse=mseRGB/(r*c*3)
end
end
% PSNR = 10*log10(255^2/MSE);
psnr=10*log(double(255*255/mse))/log(10)
灰度图像:
close all;
clear all;
clc;
img=imread('cat.jpg');
[h w]=size(img);
w=w/3;
imgn=imresize(img,[floor(h/2) floor(w/2)]);
imgn=imresize(imgn,[h w]);
imwrite(imgn,'cat1.jpg');
figure,imshow(img)
figure,imshow(imgn)
img=double(img);
imgn=double(imgn);
B=8; %编码一个像素用多少二进制位
MAX=2^B-1; %图像有多少灰度级
MES=sum(sum((img-imgn).^2))/(h*w); %均方差
PSNR=20*log10(MAX/sqrt(MES)) %峰值信噪比
阅读全文
0 0
- psnr rgb matlab程序
- matlab练习程序(PSNR)
- matlab 实现图像PSNR的小程序
- matlab ---PSNR
- rgb图像平移 matlab程序
- RGB转为HSI的MATLAB程序 rgb2hsi
- MATLAB rgb
- PSNR
- psnr
- PSNR
- PSNR
- PSNR峰值信噪比matlab实现
- rgb图像镜像(水平)MATLAB程序
- 【MATLAB】RGB,HSV,LAB
- matlab读取RGB数据
- MATLAB RGB to Gray
- 重建图像的PSNR和MSE的MATLAB实现
- matlab中中图像PSNR和SSIM的计算
- 477. Total Hamming Distance
- fzu Fire Game bfs
- C++类的使用与API的区别
- 模拟实现通讯录(静态方法)
- python重新安装需要的问题
- psnr rgb matlab程序
- MVC与三层架构的区别
- POJ 1310 Nonstop Travel 笔记
- 临时总结:ZChongS项目中的抽取类型
- Hadoop实践(一)---Hadoop核心组件之MapReduce
- MyBatis Generator (MBG),如何实现生成的代码,对应的类和 mapper 文件保持与对应的表名大小写不变
- JavaWeb面试
- 关于TTL与RS232的探讨
- java 内存的分配