MATLAB图片的色彩转换

  • 一、需求分析
  • 二、算法分析
  • 三、实验代码
  • 四、实验结果
  • 五、心得体会
  • 六、致谢

一、需求分析

从电脑上读取一张彩色图像,通过独立编程(不使用已有函数)
①实现将彩色图像转换为灰度图像、黑白图像的功能;
②实现将图像整体呈现效果为偏绿色风格;
③并将原始图像、灰度图像、黑白图像、绿色滤镜图像展示在同一个图像 窗口内。
每个子图要有相应的图名,最终呈现效果参考如图。

二、算法分析

1.彩色图像转换为灰度图像公式:Y=0.299R+0.587G+0.114*B
2.彩色图像转换为黑白图像公式:

  • X = R + G + B 3 X=\frac{R+G+B}{3} X=3R+G+B​
  • c ( u ) = { 1 , X ≥ 125 0 , X < 125 c(u)=\begin{cases} 1,X\geq125\\ 0, X<125\end{cases} c(u)={1,X≥1250,X<125​

3.加绿色滤镜思路:将彩色图像的G通道值整体变大一定数值即可。
4.将图像读取后视作图像矩阵,对图像的操作即为对图像矩阵中每个元素进行操作,采用遍历每个元素操作的方法。

三、实验代码

clear
clc
% 读入图像
img = imread('敖丙.jpg');%分离r,g,b通道
R = img(:,:,1);
G = img(:,:,2);
B = img(:,:,3);%创建一个新的窗口
figure;
subplot(2,2,1),imshow(img),title('原图');subplot(2,2,2),Gray_img = 0.299*R+0.587*G+0.114*B,imshow(Gray_img),title('灰度图');
imwrite(Gray_img,'C:\Users\25392\Desktop\灰色敖丙.jpg');subplot(2,2,3);
Gray_img = imread('灰色敖丙.jpg');
[m,n,t]=size(Gray_img);
alpha=125; %阈值
for i=1:mfor j=1:nfor k=1:tif Gray_img(i,j,k)>=alphaimbw(i,j,k)=1;elseimbw(i,j,k)=0;end  endend
end
imshow(imbw)
title('二值图')subplot(2,2,4);
Green_img(:,:,1)=R;
Green_img(:,:,2)=1.5*G;%图像的绿色分量加大
Green_img(:,:,3)=B;
imshow(Green_img)
title('绿色滤镜');

四、实验结果

五、心得体会

对于这次期末作业,我个人感觉对自己的能力有所提升。
处理图片这个项目,其实难度不大。将彩图制成灰度图片直接用Y=0.299R+0.587G+0.114*B即可,给图片加绿色滤镜也挺简单的,直接把彩色图像的G通道值变大些就好了。
唯一让我觉得有难度的是彩色图转成黑白二值图。最开始我想把RGB相加再除以3但遇到了一个问题,RGB相加时超过255的话会全变成255,导致输出的图片一片黑。
还有就是彩色图转成黑白二值图时,应该先把彩色图片转成灰度图片以及在写MATLAB程序时,在最开始的地方要养成写clear和clc的习惯。
最后,非常感谢尹宽老师的倾情授课,让我收获了许多知识!

六、致谢

非常感谢微博用户提供的不用im2bw函数将图片转换成二值图的方法!

MATLAB|数字图像处理相关推荐

  1. 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识

    本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...

  2. matlab fspeical,MATLAB数字图像处理.doc

    MATLAB数字图像处理 MATLAB常用图像操作 转换图像类型 例1.对一幅图像进行二值化处理,代码及结果如下: load trees BW=im2bw(X,map,0.4); imshow(X,m ...

  3. Matlab数字图像处理——图像处理工具箱Image Processing Toolbox

    Image Processing Toolbox 图像处理工具箱包含的功能: 图像的读取和保存 图像的显示 创建GUI 图像的几何变换 图像滤波器设计及线性滤波 形态学图像处理 图像域变换 图像增强 ...

  4. Matlab数字图像处理——图像文件的读取

    文章目录 一.Matlab中获取图像信息的函数 imfinfo 二.Matlab读取图像文件的函数 imread 三.Matlab保存图像文件的函数 imwrite 完整目录 一.Matlab中获取图 ...

  5. matlab数字图像处理课程设计报告,数字图像处理初步-实验1

    MATLAB数字图像处理初步 通过实验对MatLab软件的基本使用基本的了解,学会使用MatLab软件来读取一个特定格式的图像,并通过相关的命令语句对图像进行格式转换.图像压缩.二值化等的处理,掌握利 ...

  6. matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈

    学习MATLAB数字图像处理经验谈 学习数字图像处理经验谈 (赵小川) 一.面向应用:层层分解.抓住要点 我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用 ...

  7. 【基于matlab数字图像处理GUI代码】_数字图像处理考核论文_大作业_项目

    基于matlab数字图像处理GUI代码 代码: function varargout = Image_processing_GUI(varargin) % IMAGE_PROCESSING_GUI M ...

  8. MATLAB说明图像增强,MATLAB数字图像处理(二)图像增强

    1         图像增强 1.1            直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: 1 2 3I2=histeq( ...

  9. MATLAB数字图像处理(一)

    了解MATLAB数字图像处理 MATLAB全称是Matrix Laboratory (矩阵实验室) ,数字图像是以数字方式存储的图像.将图像在空间上离散.量化存储每一个离散位置的信息就可以得到简单的数 ...

  10. 实验1 matlab图像处理初步,实验一 MATLAB数字图像处理初步

    实验一 MATLAB数字图像处理初步 一.实验目的 1.熟悉及掌握在MATLAB中能够处理哪些格式图像. 2.熟练掌握在MATLAB中读取图像,并获取图像的大小.颜色.高度.宽度等等相关信息. 3.掌 ...

最新文章

  1. 基于相关系数的影像匹配_智库丨陈晓勇:低空摄影测量立体影像匹配的现状与展望...
  2. 蓝盾股份成立安全教育公司
  3. easy_install与pip 区别
  4. XML 解析错误:XML 或文本声明不在实体的开头位置,有效的解决方法
  5. vue+element+echarts柱状图+列表
  6. git安装与配置_git 安装及基本配置
  7. ELK之elasticsearch5.6的安装和head插件的安装
  8. html form callback,Promise异步编程模式总结初始化Promise对象统一错误处理PromisifyfromCallbackMongoose Promisify...
  9. 职场生活:辞职也有大学问
  10. html实现pdf导出excel表格,一篇文章详解:Vue框架下轻松实现Excel、PDF导出
  11. MongoDB安装、管理工具、操作
  12. 从别的网站摘抄的,挺有用的
  13. html 无组件上传图片,无组件上传图片到数据库中,最完整解决方案
  14. 电子与电工技术实验——集成运算放大器的应用
  15. matlab怎么输出坐标轴,怎样将matlab图像里面的x,y坐标轴的数据输出
  16. 【转】全套汽车标志\路牌,好不容易找到的哦!
  17. kaggle 泰坦尼克号数据分析 笔记
  18. 职场必备两款高效率管理工具,大有用处!
  19. open /data/prometheus: too many open files
  20. 隐藏微信小程序返回首页按钮(小房子)

热门文章

  1. Open BMC开发系列(六)增加对GPIO的支持
  2. 【名额不多了!】Cocos2d-x沙龙深圳站火热报名中
  3. 基于JAVA儿童思德教育网计算机毕业设计源码+系统+lw文档+部署
  4. LitmusRT使用笔记
  5. OPPO A73s在哪里开启usb调试模式的简单方法
  6. (附源码)ssm华辰酒店管理系统 毕业设计021206
  7. Q1营收利润双降,度过危局唯品股价能否“再上层楼”?
  8. Java小程序之斗地主
  9. list排序方法汇总
  10. windows找不到文件卸载程序,请确认文件名是否正确,再试一次