彩色图像:

%% 计算前后两副图像的均方根误差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))         %峰值信噪比

彩色图像 psnr matlab,psnr rgb matlab程序相关推荐

  1. matlab中psnr多了50,matlab中中图像PSNR和SSIM的计算

    网上找了很多关于PSNR和SSIM的计算,很多结果算出来都不一样,公式都是普遍的,如下: 现在总结下造成结果差异的原因. PSNR的差异:1.灰度图像:灰度图像比较好计算只有一个值. 2.彩色图像:a ...

  2. MATLAB对RGB彩色图像进行加马赛克处理

    简单实现MATLAB对RGB彩色图像进行加马赛克处理 为了加深对图像中像素块操作的记忆,利用像素块内均值方式对RGB彩色图像进行马赛克效果的处理:为了能后比较简单得实现,所以采用了n*n像素块大小的均 ...

  3. 车牌识别与计算机编程,基于MATLAB的车牌识别程序详解.ppt

    基于MATLAB的车牌识别程序详解 自定义一个字符函数,用来从车牌区域中提取出7个字符,其中利用切割函数来进行切割. 程序:function [word,result]=getword(d) word ...

  4. matlab 识别调试,有关matlab的人脸识别程序,但调试是不成功

    有关matlab的人脸识别程序,但调试是不成功,求高手帮忙指点修改.在此先谢了 1.色彩空间转换 function[r,g]=rgb_RGB(Ori_Face) R=Ori_Face(:,:,1); ...

  5. MATLAB 图像嵌入水印图像程序

    MATLAB 图像嵌入水印图像程序 原理: 水印的嵌入: 对64x64像素的水印图像(可为rgb或灰度图像)进行猫脸变换,得到置乱后的水印图像W′W'W′: 对512x512像素的载体图像分割成互不重 ...

  6. matlab 图片RGB颜色提取

    APP designer版本链接:MATLAB App Designer 特别篇:RGB颜色提取器 新版本链接:matlab图片RGB颜色提取第二版 写了一个程序能实现导入图片识别颜色 支持屏幕截图和 ...

  7. matlab 图片RGB颜色提取(第二版)

    APP designer版本链接:MATLAB App Designer 特别篇:RGB颜色提取器 之前使用matlab写了一个程序能实现导入图片识别颜色 为其增添了一些新的功能,包括:RGB格式设置 ...

  8. matlab绘制频散曲线,Matlab绘制频散曲线程序代码.docx

    Matlab绘制频散曲线程序代码.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  9. matlab有意思程序,matlab有意思的小程序

    10个C++趣味小程序,很有意思的.VIP专享文档 VIP专享文档是百度文库认... 现在很多人使用微信的时间已经非常长了,他们注册的微信号往上可能已经是5年前的事情了,正是由于不少使用者在这个过程当 ...

  10. dmc matlab程序,matlab编的DMC程序.doc

    matlab编的DMC程序 clear all; % close all; %系统模型建立 num=[0.8]; den=[225 1]; [a,b,c,d]=tf2ss(num,den); % st ...

最新文章

  1. 学习spring过程看的笔记(一)
  2. CreateService / SC 创建自启动服务
  3. python django windows_Python和Django在Windows上的环境搭建
  4. 使用git克隆GitHub仓库时报错解决方案
  5. 大型网站技术架构02 网站的高性能架构、网站的可用性架构
  6. 通过OAuth 2.0和Okta构建具有安全的服务器到服务器通信的Spring Boot应用
  7. PQ分区工具超详细图文教程
  8. 前端程序员从菜鸟到大神必学的七本前端书籍
  9. FOFA网络空间搜索引擎使用教程
  10. Java日期:今天,昨天,某一天,某一天的前一天
  11. [unreal4入门系列之一] Unreal4引擎是什么
  12. webshell、一句话木马的权限问题
  13. Hadoop LZO压缩配置
  14. Android中DialogFragment自动弹出输入法
  15. 【机器学习】数值分析02——任意方程求根
  16. postgres/pgadmin的使用
  17. ArcGIS 要素转面 消除重叠
  18. 计算机组成原理5章课件,计算机组成原理第5章存储器课件.ppt
  19. iOS流量精灵完结版
  20. 刀具更换策略问题(完工)

热门文章

  1. 51Nod-2148 字符出现位置【水题】
  2. HDU1420 Prepared for New Acmer【快速模幂】
  3. Bailian2810 完美立方【暴力】(POJ NOI0201-1812)
  4. Bailian4104 单词翻转(POJ NOI0107-27)【堆栈+字符流】
  5. POJ NOI MATH-7657 连乘积末尾0的个数
  6. python 标准库 —— http(http.cookiejar)
  7. plink 与 ssh 远程登录问题
  8. keras + tensorflow 基本使用 —— backend
  9. 算法问题的求解 —— 变量的引入
  10. 强悍的 vim —— 删除空行、删除注释以及加注释解注释