《数字图像处理》冈萨雷斯学习笔记5:彩色图像处理
来源:互联网 发布:软件项目质量管理 编辑:程序博客网 时间:2024/05/18 23:28
第六章 彩色图像处理
一、MATLAB中彩色图像的表示方法
1.1、RGB图像
rgb_image = cat(3, fR, fG, fB)fR = rgb_image(:, :, 1);fG = rgb_image(:, :, 2);fB = rgb_image(:, :, 3);
通常,能够从任何透视方向观察这个彩色立方体是很有用的,函数rgbcube就用于这一目的
rgbcube( vx, vy, vz)
在提示符处键入rgbcube(vx,vy,vz)便会在MATLAB桌面上生成一个从点(vx,vy,vz)观察的RGB立方体。
%% 生成RGB立方体clcclearrgbcube(-10,-10,4);%3个参数表示观看图像视角的点坐标axis on; %坐标轴范围grid on; %画图时添加网格线title('RGB立方体1');figure,rgbcube(10,10,4);%10,10,4是默认的坐标axis on;grid on;title('RGB立方体2');
实验结果:
1.2、索引图像和处理索引图像的IPT函数
索引图像有两个分量,即整数的数据矩阵X和彩色映射矩阵map。
1.3、用来处理RGB图像和索引图像的IPT函数
rgb_image表示RGB图像,gray_image表示灰度图像,bw表示黑白图像,X表示索引图像的数据矩阵分量。
函数:
dither:采用“抖动”从RGB图像创建索引图像
grayslice: 从灰度级亮度图像通过多级阈值创建索引图像
gray2ind: 从灰度级亮度图像创建索引图像
ind2gray: 从索引图像创建灰度级亮度图像
rgb2ind: 从RGB图像创建索引图像
ind2rgb: 从索引图像创建RGB图像
rgb2gray: 从RGB图像创建灰度级图像
二、装换至其他彩色空间
2.1、NTSC彩色空间
主要优势是灰度信息和彩色信息是分离的。
在NTSC制式中,图像数据是由三部分组成的:亮度(Y)、色调(I)和饱和度(Q)
函数rgb2ntsc可执行变换:
yiq_image = rgb2ntsc(rgb_image)%yiq_image(:,:,1)表示亮度,yiq_image(:,:,2)表示色度,yiq_image(:,:,3)表示饱和度。rgb_image = ntsc2rgb(yiq_image)
2.2、YCbCr彩色空间
这种格式,亮度信息用单个分量Y来表示,彩色信息用两个色差分量Cb和Cr来存储。分量Cb是蓝色分量和一个参考值的差,分量Cr是红色分量和一个参考值的差。
装换函数:
ycbcr_image = rgb2ycbcr(rgb_image)rgb_image = ycbcr2rgb(ycbcr_image)
三、彩色图像的空间滤波
图像平滑、图像锐化
3.1、彩色图像平滑
单色图像的平滑(空间平均)可以通过空间掩模中的相应系数(全是1)去乘所有像素的值,并用掩模中元素的总数去除来实现。
fR = fc(:,:,1);fG = fc(:,:,2);fB = fc(:,:,3);fR_filtered = imfilter(fR,w);fc_filtered = cat(3,fR_filtered,fG_filtered,fB_filtered);
等价于:
fc_filtered = imfilter(fc,w)
3.2、彩色图像锐化
考虑使用拉普拉斯算子来使图像锐化
lapmask = [1 1 1;1 -8 1; 1 1 1];fen = imsubtract(fb,imfilter(fb,lapmask,'replicate'));imshow(fen);
- 《数字图像处理》冈萨雷斯学习笔记5:彩色图像处理
- 系统学习数字图像处理之彩色图像处理
- 数字图像处理,图像的伪彩色处理
- 冈萨雷斯数字图像处理——彩色图像增强3实例
- 数字图像处理入门-彩色图像基础
- 数字图像处理(四) 彩色图像拼接
- MATLAB学习笔记 彩色图像处理
- 《数字图像处理》冈萨雷斯学习笔记4:图像复原
- 彩色数字图像处理基础
- 数字图像处理 彩色图象处理
- 数字图像处理学习笔记
- 数字图像处理学习笔记
- Win8Metro(C#)数字图像处理--2.7图像伪彩色
- 数字图像处理之彩色图像的直方图均衡化
- 数字图像处理学习笔记--图像空间域增强
- 《数字图像处理》学习笔记(三)--空间域图像增强
- 数字图像处理学习笔记:图像保存路径问题
- 【数字图像处理学习笔记之四】图像腐蚀、膨胀
- 前端题目集css
- 用js实现网页内嵌百度地图开发
- spring 定时任务(3)--配置多个定时任务
- 在ubuntu上安装配置OpenStack nova
- 标准C++中的几种强制类型转换方式比较说明
- 《数字图像处理》冈萨雷斯学习笔记5:彩色图像处理
- Java比较两个时间相差多少天,多少个月,多少年
- linux下配置jdk+tomcat环境变量
- C++ - 其他特性
- Oracle to_char的时间数据格式转换
- [SQL]一个筛选数据的例子,使用GROUP、DISTINCT
- 为什么要学习C语言?
- 使用 ASMCMD 工具管理ASM目录及文件
- 学习笔记-AVL数和红黑树