《数字图像处理》实验报告六

一、实验任务与要求

比较采用不同的色彩空间对彩色图像处理的效果,处理包括:

a)直方图均衡化

b)图像增强

 

二、实验报告

(一)RGB色彩空间的直方图均衡化 / 锐化处理

1、matlab 实现代码:

%%%RGB彩色空间直方图均衡化
f_rgb=imread('lenna-RGB.tif'); 
subplot(131);imshow(f_rgb);title('RGB');
rgb_histeq=f_rgb;%获取红色、绿色、蓝色分量
R=f_rgb(:,:,1); 
G=f_rgb(:,:,2);
B=f_rgb(:,:,3); %对各个分量进行直方图均衡化
R2=histeq(R,256); 
G2=histeq(G,256); 
B2=histeq(B,256); %变化后图像
rgb_histeq(:,:,1)=R2;
rgb_histeq(:,:,2)=G2;
rgb_histeq(:,:,3)=B2;
subplot(132);imshow(rgb_histeq);title('RGB直方图均衡化');%%%RGB彩色空间图像增强
rgb_2=f_rgb;
w=fspecial('laplacian',0.8); %生成拉普拉斯滤波器%对各个分量进行滤波处理
R3=imfilter(R,w); 
G3=imfilter(G,w); 
B3=imfilter(B,w); %变化后图像
rgb_2(:,:,1)=R-R3;
rgb_2(:,:,2)=G-G3;
rgb_2(:,:,3)=B-B3;
subplot(133);imshow(rgb_2);title('RGB图像增强-锐化');

2、处理效果

可以看出在RGB彩色空间中,对 R、G、B 三个分量全都进行直方图均衡化后图像颜色出现较严重的偏差,而锐化处理效果较好。

 

(二)HSI色彩空间的直方图均衡化 / 锐化处理

1、matlab 实现代码: 

%%%HSI彩色空间直方图均衡化
f_hsi=rgb2hsi(f_rgb); %RGB图像转换为HSI色彩空间
subplot(131);imshow(f_hsi);title('HSI');
hsi_histeq=f_hsi;%获取色调、饱和度、亮度分量
H=f_hsi(:,:,1); 
S=f_hsi(:,:,2); 
I=f_hsi(:,:,3); %对色调、饱和度、亮度进行直方图均衡化
H2=histeq(H,256); 
S2=histeq(S,256);
I2=histeq(I,256);%变化后图像
hsi_histeq(:,:,1)=H2;
hsi_histeq(:,:,2)=S2;
hsi_histeq(:,:,3)=I2;
hsi_histeq=hsi2rgb(hsi_histeq); %转换回RGB
subplot(132);imshow(hsi_histeq);title('HSI直方图均衡化');%%%HSI彩色空间图像增强
hsi_2=f_hsi;
w=fspecial('laplacian',0.8); %生成拉普拉斯滤波器%对色调、饱和度、亮度进行滤波处理
H3=imfilter(H,w); 
S3=imfilter(S,w); 
I3=imfilter(I,w);%变化后图像
hsi_2(:,:,1)=H-H3;
hsi_2(:,:,2)=S-S3;
hsi_2(:,:,3)=I-I3;
hsi_2=hsi2rgb(hsi_2); %转换回RGB
subplot(133);imshow(hsi_2);title('HSI图像增强-锐化');

2、处理效果

可看出在HSI色彩空间中,对 H、S、I 三个分量全都进行直方图均衡化后图像质量也出现严重偏差,且锐化处理的效果也没有 RGB 好。

 

3、改进

只对强度 I 进行直方图均衡化,图像质量得到较大提升:

(三)CMY色彩空间的直方图均衡化 / 锐化处理

1、matlab 实现代码: 

%%%CMY彩色空间直方图均衡化
f_cmy=imcomplement(f_rgb); %RGB图像转换为CMY色彩空间
subplot(131);imshow(f_cmy);title('CMY');
cmy_histeq=f_cmy;%获取C、M、Y分量
C=f_cmy(:,:,1);
M=f_cmy(:,:,2);
Y=f_cmy(:,:,3);%对C、M、Y进行直方图均衡化
C2=histeq(C,256); 
M2=histeq(M,256); 
Y2=histeq(Y,256);%变化后图像
cmy_histeq(:,:,1)=C2;
cmy_histeq(:,:,2)=M2;
cmy_histeq(:,:,3)=Y2;
cmy_histeq=imcomplement(cmy_histeq); %转换回RGB
subplot(132);imshow(cmy_histeq);title('CMY直方图均衡化');%%%CMY彩色空间图像增强
cmy_2=f_cmy;
w=fspecial('laplacian',0.8); %生成拉普拉斯滤波器%对C、M、Y进行滤波处理
C3=imfilter(C,w); 
M3=imfilter(M,w); 
Y3=imfilter(Y,w);%变化后图像
cmy_2(:,:,1)=C-C3;
cmy_2(:,:,2)=M-M3;
cmy_2(:,:,3)=Y-Y3;
cmy_2=imcomplement(cmy_2); %转换回RGB
subplot(133);imshow(cmy_2);title('CMY图像增强-锐化');

2、处理效果

可以看出在CMY色彩空间中,对 C、M、Y 三个分量全都进行直方图均衡化后效果和RGB差不多,图像颜色均出现较严重偏差,且锐化处理效果也和RGB差不多。

(四)YCbCr色彩空间的直方图均衡化 / 锐化处理

1、matlab 实现代码: 

%%%YCbCr彩色空间
f_ycbcr=rgb2ycbcr(f_rgb); %RGB图像转换为YCbCr色彩空间
subplot(131);imshow(f_ycbcr);title('YCbCr');
ycbcr_histeq=f_ycbcr;%获取亮度Y、蓝色色度Cb、红色色度Cr
Y=f_ycbcr(:,:,1); 
Cb=f_ycbcr(:,:,2);
Cr=f_ycbcr(:,:,3);%对Y、Cb、Cr进行直方图均衡化
Y2=histeq(Y,256); 
Cb2=histeq(Cb,256);
Cr2=histeq(Cr,256);%变化后图像
ycbcr_histeq(:,:,1)=Y2;
ycbcr_histeq(:,:,2)=Cb2;
ycbcr_histeq(:,:,3)=Cr2;
ycbcr_histeq=ycbcr2rgb(ycbcr_histeq); %转换回RGB
subplot(132);imshow(ycbcr_histeq);title('YCbCr直方图均衡化');%%%YCbCr彩色空间图像增强
ycbcr_2=f_ycbcr;
w=fspecial('laplacian',0.8); %生成拉普拉斯滤波器%对Y、Cb、Cr进行滤波处理
Y3=imfilter(Y,w); 
Cb3=imfilter(Cb,w); 
Cr3=imfilter(Cr,w);%变化后图像 
ycbcr_2(:,:,1)=Y-Y3;
ycbcr_2(:,:,2)=Cb-Cb3;
ycbcr_2(:,:,3)=Cr-Cr3;
ycbcr_2=ycbcr2rgb(ycbcr_2); %转换回RGB
subplot(133);imshow(ycbcr_2);title('YCbCr图像增强-锐化');

2、处理效果

可以看出在YCbCr色彩空间中,对 Y、Cb、Cr 三个分量全都进行直方图均衡化后图像颜色出现严重偏差,锐化处理效果和RGB、CMY差不多。

3、改进

只对亮度 Y 进行直方图均衡化,图像质量得到较大提升:

 

(五)总结

        采用不同的色彩空间对彩色图像处理的效果有所不同,对于色彩空间中每个分量都进行处理的效果可能并不好(比如在RGB彩色空间中对三个分量都进行均衡化处理后图像出现严重色偏,而在HSI空间中单独对亮度I进行均衡化后得到较好效果)。在对彩色图像进行增强处理时可以选择性地对不同分量进行相应处理,以得到较好效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言 用getchar函数读入两个字符给c1和c2,然后分别用putchar函数和printf函数输出

用getchar函数读入两个字符给c1和c2,然后分别用putchar函数和printf函数输出这两个字符并且解答以下三个问题: 1.变量c1和c2应定义为字符型,整形,还是二者皆可? 2.要求输出c1和C2的ASCII码,应如何处理&am…

推荐系统(LLM去偏?) | (WSDM24)预训练推荐系统:因果去偏视角

::: 大家好!今天我分享的文章是来自威斯康星大学麦迪逊分校和亚马逊AWS AI实验室的最新工作,文章所属领域是推荐系统和因果推理,作者针对跨域推荐中的偏差问题提出了一种基于因果去偏的预训练推荐系统框架PreRec。 ::: 原文:Pre-t…

【MySQL进阶之路 | 小结篇】MySQL键约束KEY与索引INDEX

1. 键约束 关键字key 比如UNIQUE KEY就是一个唯一性约束,用于确保表中的某一列或多列的组合具有唯一性,不允许有重复值.当定义一个唯一性约束的时候,会自动创建一个唯一性索引来支持这一约束,这意味着它同时也起到了索引的作用.…

mobaXterm上传文件进度一直为0%

在这里修改了senssion、重启都没有用 最后发现是文件存放的路径中不能有中文,改了之后就成功上传了

开展FMEA培训时需要做好哪些准备?

FMEA(失效模式与影响分析)作为一种预防性的质量工具,正逐渐成为当代企业提升产品竞争力的关键。然而,很多企业在开展FMEA时,却常常因为准备工作不足而事倍功半。那么,开展FMEA培训时需要做好哪些准备呢&…

Jenkins流水线发布,一篇就解决你的所有疑惑

这次搭建的项目比较常规,前端是react写的,后端是springboot,并且由于是全栈开发,所以是在同一个项目中。接下来我演示下怎么用jenkins进行自动化发布。 1.jenkins必装插件 这里用到的是jenkinsFile主要是基于Groovy这个沙盒,有些前置插件。这里使用maven进行打包,所以需…

springboot实现json文件生成,压缩为zip文件并在浏览器下载

示例 RestController public class FileController {private static final Logger logger LoggerFactory.getLogger(FileController.class);private static final String filePath "/fileTemp";Autowiredprivate ObjectMapper objectMapper;GetMapping("/v1/…

测试基础16:测试用例设计方法-测试大纲法

课程大纲 1、应用场景 验证页面跳转:有多个窗口/页面,每个窗口/页面有多个动作,每个动作之间有相互的联系的场景。看点击后,页面跳转正确与否。 2、设计步骤 step1.列出大纲:列出涉及的页面和页面可执行的动作。 s…

生命在于学习——Python人工智能原理(4.7)

四、Python的程序结构与函数 4.4 函数 函数能将代码划分为若干模块,每一个模块可以相对独立的实现某一个功能,函数有两个主要功能,分别是降低编程难度和实现代码复用,函数是一种功能抽象,复用它可以将一个复杂的大问…

深拷贝与浅拷贝的理解

深拷贝和浅拷贝是复制对象时的两种不同方式,它们之间的区别在于它们如何处理对象的引用类型成员。 浅拷贝(Shallow Copy) 浅拷贝是指创建一个新对象,这个新对象是对原对象的字段的一个精确副本。对于字段中的基本数据类型&#…

【C#】找不到属性集方法。get只读属性用了反射设置setValue肯定报错

欢迎来到《小5讲堂》 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 背景 找不到属性集方法。get只读属性用了反射设置setValue肯定报错 报错…

IPFoxy Tips:匿名海外代理IP的使用方法及注意事项

在互联网上,隐私和安全问题一直备受关注。为了保护个人隐私和数据安全,使用匿名代理IP是一种常用的方法。匿名代理IP可以隐藏用户的真实IP地址,使用户在访问网站时更加隐秘和安全。 本文将介绍匿名代理IP的基本原理和核心功能。 基本原则 匿…

2024期权交易佣金手续费最低是多少?期权交易有哪些成本?

显性成本 期权交易的显性成本包含期权交易的佣金和交易所费用,分别支付给券商和交易所,统一由券商代收。 佣金 期权佣金是期权交易时支付给券商的费用,佣金通常以交易金额的一定比例计算,可以是固定费用,也可以是滑…

用两个钟,我又在VMWARE上搞了一套内部网配置

最近要学es,所以打算自己用虚拟机搞个NAT,又搞了两个钟。为了不再费劲尝试,也为了造福大众,所以选择搞一份NAT笔记!!!! 1.初始化网关和DNS 我们给网关配置一个地址192.168.96.1&…

【多模态】BEiT v2

链接:https://arxiv.org/pdf/2208.06366 论文:BEIT V2: Masked Image Modeling with Vector-Quantized Visual Tokenizers Introduction Motivation:Masked image modeling (MIM) 任务在自监督表征学习上取得了不错的成绩,但是现…

教师资格证考试面试报名流程

文章目录 前言面试报名流程一、登录官网二、选择报考省份三、注册报名账号四、确认考试承诺五、填报个人信息六、上传个人照片七、查看个人信息八、面试报名九、等待审核十、考试缴费最后(必看)附录1. 中小学教师资格考试网2. 广东省教资考试报名通知&am…

Linux加固-权限管理_chattr之i和a参数

一、参数i i:如果对文件设置了i属性,不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置了i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。(相当于把文件给锁住了,…

【Mysql】多表、外键约束

多表 1.1 多表简述 实际开发中,一个项目通常需要很多张表才能完成。 例如一个商城项目的数据库,需要有很多张表:用户表、分类表、商品表、订单表… 1.2 单表的缺点 1.2.1 数据准备 创建一个数据库 db3 CREATE DATABASE db3 CHARACTER SET utf8;数据库…

Segment any Text:优质文本分割是高质量RAG的必由之路

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

基于qemu_v8 + optee400构建自定义app

构建基于libckteec的tls安全通信应用程序,应用目录结构 $ tree -L 2 . ├── libp11 │ ├── libp11-libp11-0.4.12 │ ├── mk_optee_three_part.sh │ └── out ├── openssl │ ├── mk_optee_three_part.sh │ ├── openssl-1.1.1w │ …