美文网首页
数字图像处理(matlab实现)笔记

数字图像处理(matlab实现)笔记

作者: Shine_Zhang | 来源:发表于2019-09-28 20:52 被阅读0次

一、基本文件操作

读文件:

imread('filename')
img = imread('img.jpg') 将图像文件读入matlab环境中并命名为img

显示图像:

imshow(img) 其中img为图像数组
保留上次图像显示的同时并实现第二幅图像的输出:
figure;imshow(img2)

写入图像

imwrite(img,'filename')
另外还可以控制写入图像的质量:
imwrite(img,'filename','quality',q) q是写入质量控制参数,介于0-100的整数。

二、 图像类型

1.灰度图像

灰度图像是数据矩阵,值表示浓淡程度。
当灰度图像的元素是uint8或uint16类时,它们取值范围为[0,255]和[0,65535]。
当灰度图像的元素是double或single类时,值为浮点数,通常被归一化标定为[0,1]范围内。

2.二值图像

图像元素为logical类,取值是只包含0或1的逻辑数组,0->黑,1->白。
创建逻辑数组:b = logical(A)A是0和1构成的数值数组;
测试是否为逻辑类:islogical(img)

3.RGB图像

4.索引图像

5.图像格式转换

g = mat2gray(A,[Amin,Amax]);将图像A转化为灰度图像,标定数组元素范围为[0,1]的double类的数组,其中元素值大于Amax的变为1,小于Amin的变为0。

三、M-函数编程

函数定义:
function [outputs] = function_name(inputs)
例如求两个矩阵的所有元素的平均值和所有元素的和值:
创建M函数文件:

>> edit ave %ave为文件名,也是函数名,函数名必须与文件名相同
function [value,sum] = ave(a,b)
    a = a + b;
    sum = 0;
    for i = 1:length(a(:))
        sum = sum + a(i);
        value = sum/length(a(:));
    end
end

调用运行实例:

>> a = [1 2 3;
    4 5 6 ;
    7 8 9;];

b = [1 1 1;
     1 1 1;
     2 2 2;];
>> [v,s] = ave(a,b)

v =

    6.3333
s =

    57

四、索引

数组索引

>>v = [1 2 3 4 5 6 7 8 9];
>>v(2) % 索引第二个元素
ans =
     2

>> v(1:5) %索引第1到5个元素
ans =
     1     2     3     4     5

>> v(6:end) %索引第6到最后一个元素
ans =
     6     7     8     9

>> v([1 4 5]) % 同时索引第1 4 5个元素
ans =
     1     4     5

>> v(1:2:end) % 索引1到最后个元素,步长为2
ans =
     1     3     5     7     9

矩阵索引

>> A = [1 2 3;4 5 6;7 8 9]

A =

     1     2     3
     4     5     6
     7     8     9

>> A(:) %用“:”选择所有元素,并将A转换为列向量
ans =
     1
     4
     7
     2
     5
     8
     3
     6
     9

>> A(1,:) % 选择第1行整行
ans =
     1     2     3

>> A(2,3)% 选择第2行第3列的元素
ans =
     6
>> sum(A)% 计算每一列的元素和

ans =

    12    15    18

>> sum(A(:)) % 计算所有元素的和,“:”把A转换为列向量。

ans =

    45

相关文章

  • 数字图像处理(matlab实现)笔记

    一、基本文件操作 读文件: imread('filename')img = imread('img.jpg') 将...

  • 图像处理入门书推荐

    《MATLAB图像处理实例详解》 《数字图像处理》 冈萨雷斯 《图像识别与项目实践――VC++、MATLAB技术实...

  • 阅读《数字图像处理(MATLAB版)》笔记

    date: 2018-4-3阅读《数字图像处理(MATLAB版)》,这里作个笔记,记录学过的东西,方便时时复习。 ...

  • 数字图像处理实验一

    MATLAB入门及数字图像处理编程基础 【实验目的】: 1. 熟悉和掌握MATLAB基本编程环境 2. 熟悉和掌握...

  • OpenCV+Python 频域分析

    参考: opencv-python官方文档《刚萨雷斯数字图像处理(MATLAB版)》 图像处理中的傅里叶变换 二维...

  • matlab数字图像处理

    2. Lena图像如何成为图像处理学术界的标准图像 1973年6月,美国南加州大学的一名教授想找一幅图像来做图...

  • Python数据处理开发环境搭建-windows7上安装Anac

    一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1、不开源,价格贵 2、...

  • 基于Python skimage的表格识别程序

    1. 开发环境 一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 不开源,...

  • 2018-08-29

    需要整理的知识内容: 1)数字图像处理(C++ Matlab OpenCV) 2) 机器学习与深度学习(回归、分类...

  • 开篇

    最近数字图像处理老师布置了结课作业,需要做一个图形化的软件处理图像。可以采用MATLAB或者Python。我最近一...

网友评论

      本文标题:数字图像处理(matlab实现)笔记

      本文链接:https://www.haomeiwen.com/subject/bigquctx.html