彩色图像 psnr matlab,psnr rgb matlab程序
彩色图像:
%% 计算前后两副图像的均方根误差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程序相关推荐
- matlab中psnr多了50,matlab中中图像PSNR和SSIM的计算
网上找了很多关于PSNR和SSIM的计算,很多结果算出来都不一样,公式都是普遍的,如下: 现在总结下造成结果差异的原因. PSNR的差异:1.灰度图像:灰度图像比较好计算只有一个值. 2.彩色图像:a ...
- MATLAB对RGB彩色图像进行加马赛克处理
简单实现MATLAB对RGB彩色图像进行加马赛克处理 为了加深对图像中像素块操作的记忆,利用像素块内均值方式对RGB彩色图像进行马赛克效果的处理:为了能后比较简单得实现,所以采用了n*n像素块大小的均 ...
- 车牌识别与计算机编程,基于MATLAB的车牌识别程序详解.ppt
基于MATLAB的车牌识别程序详解 自定义一个字符函数,用来从车牌区域中提取出7个字符,其中利用切割函数来进行切割. 程序:function [word,result]=getword(d) word ...
- matlab 识别调试,有关matlab的人脸识别程序,但调试是不成功
有关matlab的人脸识别程序,但调试是不成功,求高手帮忙指点修改.在此先谢了 1.色彩空间转换 function[r,g]=rgb_RGB(Ori_Face) R=Ori_Face(:,:,1); ...
- MATLAB 图像嵌入水印图像程序
MATLAB 图像嵌入水印图像程序 原理: 水印的嵌入: 对64x64像素的水印图像(可为rgb或灰度图像)进行猫脸变换,得到置乱后的水印图像W′W'W′: 对512x512像素的载体图像分割成互不重 ...
- matlab 图片RGB颜色提取
APP designer版本链接:MATLAB App Designer 特别篇:RGB颜色提取器 新版本链接:matlab图片RGB颜色提取第二版 写了一个程序能实现导入图片识别颜色 支持屏幕截图和 ...
- matlab 图片RGB颜色提取(第二版)
APP designer版本链接:MATLAB App Designer 特别篇:RGB颜色提取器 之前使用matlab写了一个程序能实现导入图片识别颜色 为其增添了一些新的功能,包括:RGB格式设置 ...
- matlab绘制频散曲线,Matlab绘制频散曲线程序代码.docx
Matlab绘制频散曲线程序代码.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...
- matlab有意思程序,matlab有意思的小程序
10个C++趣味小程序,很有意思的.VIP专享文档 VIP专享文档是百度文库认... 现在很多人使用微信的时间已经非常长了,他们注册的微信号往上可能已经是5年前的事情了,正是由于不少使用者在这个过程当 ...
- 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 ...
最新文章
- 学习spring过程看的笔记(一)
- CreateService / SC 创建自启动服务
- python django windows_Python和Django在Windows上的环境搭建
- 使用git克隆GitHub仓库时报错解决方案
- 大型网站技术架构02 网站的高性能架构、网站的可用性架构
- 通过OAuth 2.0和Okta构建具有安全的服务器到服务器通信的Spring Boot应用
- PQ分区工具超详细图文教程
- 前端程序员从菜鸟到大神必学的七本前端书籍
- FOFA网络空间搜索引擎使用教程
- Java日期:今天,昨天,某一天,某一天的前一天
- [unreal4入门系列之一] Unreal4引擎是什么
- webshell、一句话木马的权限问题
- Hadoop LZO压缩配置
- Android中DialogFragment自动弹出输入法
- 【机器学习】数值分析02——任意方程求根
- postgres/pgadmin的使用
- ArcGIS 要素转面 消除重叠
- 计算机组成原理5章课件,计算机组成原理第5章存储器课件.ppt
- iOS流量精灵完结版
- 刀具更换策略问题(完工)
热门文章
- 51Nod-2148 字符出现位置【水题】
- HDU1420 Prepared for New Acmer【快速模幂】
- Bailian2810 完美立方【暴力】(POJ NOI0201-1812)
- Bailian4104 单词翻转(POJ NOI0107-27)【堆栈+字符流】
- POJ NOI MATH-7657 连乘积末尾0的个数
- python 标准库 —— http(http.cookiejar)
- plink 与 ssh 远程登录问题
- keras + tensorflow 基本使用 —— backend
- 算法问题的求解 —— 变量的引入
- 强悍的 vim —— 删除空行、删除注释以及加注释解注释