MATLAB中图像的基本操作
MATLAB中图像的基本操作
1、读取、显示图片
MATLAB中提供了immread()与imshow()函数读取和显示图片。其中读取函数imread()原型:
imread:
A = imread(filename, fmt)
A是结构体名,用来存储读入的图像数据。filename是读取的文件名,文件名要用”括起来。fmt是读取文件的类型如:jpg、png等等,这个参数可以不输入,由MATLAB自动判断。
显示函数imshow()原型:
imshow:
imshow(I)
I为读取后保存在MATLAB中的结构体名。
程序实例:
A=imread('1.jpg');%读取名为1.jpg的图片 imshow(A)%显示图片
2、将灰度图片变成负片
对图像进行操作,实际上是将图像看成许多个像素点,对每个像素点进行操作。在计算机系统中,灰度图片被看成是许多个由值在[0~255]之间的像素点组成的图像,255表示白色,0表示黑色,黑白之间存在256个灰度级。
负片是指将原灰度图白色的地方变成黑色,黑色的地方变成白色。也就是将0变成255,255变成0。MALTAB的imadjust()函数提供了该功能。其函数原型:
imadjust:
J = imadjust(I,[low_in; high_in],[low_out; high_out])
其中,I为原灰度图像,low_in,high_in为输入图像的低和高灰度级,设置为[0,1]表示从0~255的归一化,low_out,high_out为输出图像的低高灰度级。
若是想将图片转换为负片,那么将[low_in; high_in]设置为[0,1],将[low_out; high_out]设置为[1,0]。即原来输入为0的地方变成1输出,输入为1的地方变成0输出。
实例:
A=imread('1.jpg'); imshow(A)%显示原图 A1=imadjust(A,[0,1],[1,0]);%将灰度级对调 figure,imshow(A1)%显示负片
3、彩色图片转换成灰度图片
我们在计算机中看到的大多数彩色图片是基于RBG三通道的图片,红绿蓝三种颜色,每一种取值均为[0~255]。通过255*255*255,可以构成庞大的颜色群。而灰度图像只有256个灰度级。通过以下公式可以将RGB转换成灰度
GRAY=0.2989 R + 0.5870 * G + 0.1140 * B*
MATLAB中提供的函数rgb2gray为我们提供了将彩色图片转换成灰度图片的功能。函数原型:
I = rgb2gray(RGB)
- 1
实例:
A=imread('001.png');%原彩色图片 imshow(A) A_gray=rgb2gray(A);%转换成灰度图片 figure,imshow(A_gray)
原文地址:https://www.cnblogs.com/Ph-one/p/11516808.html
- poj----2155 Matrix(二维树状数组第二类)
- poj------2352 Stars(树状数组)
- HDUOJ-----2852 KiKi's K-Number(树状数组+二分)
- nyoj----522 Interval (简单树状数组)
- HDUOJ-----2838Cow Sorting(组合树状数组)
- HDUOJ---2642Stars(二维树状数组)
- HDUOJ -----Color the ball
- poj-----Ultra-QuickSort(离散化+树状数组)
- HDUOJ---1241Oil Deposits(dfs)
- HDUOJ------2398Savings Account
- HDUOJ-----2399GPA
- HDUOJ----旋转的二进制
- HDUOJ---3743Frosh Week(BIT+离散化)
- Node.js新手必须知道的4个JavaScript概念
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【自然语言处理】利用朴素贝叶斯进行新闻分类(自己处理数据)
- mybatis文件映射之select操作返回Map
- shm进程间通信失败了!!!
- Vue3.0 beta源码学习笔记(二)
- 【自然语言处理】使用朴素贝叶斯进行语种检测
- 关于errno的后事妥善处理
- Vue3.0 beta源码学习笔记(三)
- 你会不会分布式系统进程间通信?
- 学以致用C++设计模式 之 “备忘录模式”
- Mybatis学习笔记(三)关联查询以及相关属性
- 学以致用C++设计模式 之 “装饰者模式”
- 学以致用C++设计模式 之 “责任链模式”
- 学以致用C++设计模式 之 “命令模式”
- 学以致用C++设计模式 之 “中介模式”
- 【自然语言处理】利用LDA对希拉里邮件进行主题分析