1 数字图像处理概述及基础

书籍:《MATLAB图像处理 理论、算法与实例分析》;蔡利梅编著;清华大学出版社
个人学习笔记记录,欢迎交流批评。

1.1 图像与数字图像处理

1、图像:二维信号f(x,y),可用像素值矩阵表示。
2、视频:三维函数f(x,y,t),t为时间变量。(当时间间隔<=1/24s时,人眼不能感知出停顿)
3、数字图像处理主要内容:包括图像获取、图像变换、图像增强、图像平滑、边缘检测和图像锐化、图像复原、图像压缩编码、图像分割、图像描述和分析、图像匹配、图像融合、图像检索、图像水印、立体视觉、目标检测与跟踪。
Tips:机器视觉区别于计算机视觉,它还包含了成像、控制等技术。

1.2 颜色

1、颜色模型:
RGB模型:700nm红,546.1nm绿,435.8nm蓝
CMY/CMYK模型:Cyan青色、Magenta品红、Yellow黄色、Black黑色
HSI模型:Hue色调、Saturation饱和度、Intensity亮度
HSV模型:V明度
YIQ:Y亮度、IQ色调
YUV:Y亮度、UV色调
YCbCr模型:亮度、色调

1.3 数字图像的生成和表示

1、图像信号的数字化:经过采样、量化(到0-255)过程。
2、数字图像的类型:二值图像(黑白01)、灰度图像(0-255)、彩色图像(如RGB则为3个0-255矩阵)、动态图像(帧)、索引图像(实际是一种存储方式,存颜色索引值)
3、数字图像格式:JPEG有损压缩、GIF无损压缩、TIFF、PNG无损压缩位图图形、BMP位图。

1.4 图像的读取与显示

1、图像文件信息读取:

INFO = imfinfo('C:\Users\Administrator\Desktop\timg\flower.jpg')

% 创建一个图像信息工具
tinfo = imageinfo('C:\Users\Administrator\Desktop\timg\flower.jpg')

2、图像文件数据读取:

Image1 = imread('C:\Users\Administrator\Desktop\timg\flower.jpg');
imshow(Image1)
% 若读取索引图像:
% [X,MAP] = imread(Filename,FMT);
% X存放图像数据,MAP存颜色映射表


3、图像的显示:

imshow(Image1,[0 50])
imtool(Image1)
% 将矩阵中的数据显示为图像
image(Image1)
imagesc(Image1)
% 显示含有多帧的图像
montage(...)

4、像素信息获取与显示:

P = impixel(Image1)
% 弹出图像后,用鼠标选择像素点
% 创建像素信息工具
impixelinfo

5、局部区域的获取与显示(剪切):

%指定剪切矩形的左上角位置,宽,高
RECT = [100,100,200,200];
I2 = imcrop(Image1,RECT);
imshow(I2)


6、图像数据类型及转换:

% 将数据取值范围转换到[0,1]
I3 = im2double(Image1)
% im2uint8转换到[0,255]
%im2uint16转换到[0,65535]


但是imshow仍然显示与原图一样。

% 将数据强制转换为双精度型
I4 = double(Image1);

将矩阵转换为灰度图像

Matrix1 = Image1(:,:,1)  % 获得一个矩阵
I5 = mat2gray(Matrix1,[100,250]); %小于100则为0,大于250则为1.0
imshow(I5)

7、图像文件的保存:

% 图像,格式,位置等
imwrite(I5,'C:\Users\Administrator\Desktop\timg\flower5.bmp')

1.5 图像类型的转换

1、彩色图像转换为灰度图像:

I6 = rgb2gray(Image1);
imshow(I6)


** 2、多值图像转换为二值图像:**

I7 = im2bw(Image1,0.5);
imshow(I7)


3、灰度图像转换为彩色图像:
有密度分割法、灰度级变换法、热金属编码变换等
举例密度分割法(即将不同段的赋值不同的的颜色)(灰度变换法可以通过函数进行灰度转换,实现连续取值):

% I6为灰度图
r = I6; g = I6; b = I6; %初始化三个通道
r(I6 <= 50) = 0; r(20 < I6 & I6 <= 100) = 150; r(100 < I6 & I6 <= 200) = 200;  r(200 < I6 & I6 <= 255) = 250;
g(I6 <= 50) = 0; g(20 < I6 & I6 <= 100) = 50; g(100 < I6 & I6 <= 200) = 70;  g(200 < I6 & I6 <= 255) = 100;
b(I6 <= 50) = 0; b(20 < I6 & I6 <= 100) = 70; b(100 < I6 & I6 <= 200) = 100;  b(200 < I6 & I6 <= 255) = 150;
% 合成
I8 = cat(3,r,g,b);
imshow(I8);


** 4、索引图像的转换:**

[X1,MAP1] = rgb2ind(Image1,16);  % RGB转换为只有16种颜色的索引图像
I9 = ind2rgb(X1,MAP1);   % 反变换回RGB图像
imshow(I9);

[X2,MAP2] = gray2ind(I6,16);  % 将灰度图I6转换为16色索引图像
imshow(X2,MAP2)
I10 = ind2gray(X2,MAP2);
imshow(I10)

1.6 色彩空间的转换

1、RGB和HSV转换:

[X3,MAP3] = rgb2ind(Image1,256);
H = rgb2hsv(MAP3); % 将颜色映射表转换到HSV空间
H(:,3) = H(:,3)*1.5; H(H > 1) = 1;  % 将亮度增强为原来的1.5倍,,超出1则为1,否则超出范围
MAP4 = hsv2rgb(H);
imshow(X3,MAP4)%同样:
H1 = rgb2hsv(Image1); % 将图像转换到HSV空间
H1(:,:,3) = H1(:,:,3)*1.5;
I11 = hsv2rgb(H1);
imshow(I11)


2、RGB和YCbCr转换:

rgb2ycbcr()
ycbcr2rgb()

3、RGB和YIQ转换:

rgb2ntsc()
ntsc2rgb()

4、RGB和LAB转换:

rgb2lab()
lab2rgb()

与1、同理,所以略写。

数字图像处理概述及基础相关推荐

  1. 数字图像处理之图像基础

    最近在学数字图像处理,图像基础包括以下部分: 导入库 import numpy as np import matplotlib.pyplot as plt import cv2 as cv 图片展示函 ...

  2. 视频教程-数字图像处理实战-算法基础

    数字图像处理实战 河海大学计算机硕士毕业,现就职于南京华为研究所,从事嵌入式软件开发工作.热爱模式识别及机器学习算法. 金圣韬 ¥70.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+ ...

  3. 实验1 数字图像处理的MATLAB基础,《数字图像处理(实验部分)》实验1_数字图像处理中MATLAB使用基础...

    <数字图像处理(实验部分)>教案 实验一:数字图像处理中MATLAB使用基础实验 一. MATLAB软件安装 二. 进入MATLAB运行环境 三. MATLAB编程基础 3.1.变量 预定 ...

  4. MOOC网神经网络与深度学习TensorFlow实践3——数字图像处理、TensorFlow基础

    数字图像处理 数字图像基本概念 pillow图像处理库 手写数字数据集MNIST TensorFlow基础 TensorFlow2.0特性 创建张量 维度变换 部分采样 张量运算

  5. 第2章 Python 数字图像处理(DIP) --数字图像基础5 -- 算术运算、集合、几何变换、傅里叶变换等

    目录 数字图像处理所有的基本数字工具介绍 算术运算 集合运算和逻辑运算 空间运算 向量与矩阵运算 图像变换 图像和随机变量 数字图像处理所有的基本数字工具介绍 算术运算 # 相加 img_ori = ...

  6. 第10章 Python 数字图像处理(DIP) - 图像分割 基础知识 标准差分割法

    This Chapter is all about image segmentation. I still not finished whole chapter, but here try to pu ...

  7. 第2章 Python 数字图像处理(DIP) --数字图像基础1 - 视觉感知要素 - 亮度适应与辨别

    数字图像基础1 视觉感知要素 亮度适应与辨别 import sys import numpy as np import cv2 import matplotlib import matplotlib. ...

  8. 数字图像处理——频域滤波基础

    频域滤波基础 1.频域滤波与空域滤波的关系 傅立叶变换可以将图像从空域变换到频域,而傅立叶反变换则可以将图像的频谱逆变换为空域图像.这样一来,我们可以利用空域图像与频域之间的对应关系,尝试将空域卷积滤 ...

  9. 第2章 Python 数字图像处理(DIP) --数字图像基础4 -- 像素间的一些基本关系 - 邻域 - 距离测试

    目录 像素间的一些基本关系 像素的相信像素 距离测试 import sys import numpy as np import cv2 import matplotlib import matplot ...

最新文章

  1. linux tty core code,linux tty core 源码分析(5)
  2. 分布式系统设计原理与方案
  3. 关于浮点数在计算机内存中的存储
  4. MYSQL的replace into
  5. linux tomcat PermGen space
  6. javascript无限请求_JAVASCRIPT事件循环
  7. 分析ARP***与欺骗
  8. 关于div布局中float的使用
  9. mongodb执行sql脚本文件
  10. 电池管理系统(BMS)
  11. js内置对象方法笔记
  12. 安装Kubuntu至U盘
  13. 华东师大计算机专业非全日制,2018年华东师范大学非全日制研究生专业目录
  14. windows端口配置
  15. 私域运营第五讲:实体餐饮店如何通过搭建私域流量实现营收增长
  16. vue3 + vite + ts + setup , 第四练 异步组件的使用,defineAsyncComponent和Suspense的使用
  17. [汇编题]将ax中的16位数分成四组,每组四位,分别放入al,bl,cl,dl中
  18. Magnifier笔记
  19. 程序员的7个被动收入途径——我如何每月赚 5万
  20. 基于深度学习的身份证号码识别(OCR,Opencv,Pytorch)

热门文章

  1. Office文档转换成PDF
  2. pycharm 主题设置
  3. 【NOIP2013提高组】火柴排队
  4. 三菱PLC之Q02HCPU 通讯数据(读软元件)破译记录
  5. 2021数模美赛F题思路解析
  6. 万粉博主,回报社区,初心不改,砥砺前行
  7. floquet端口x极化入射波_AnsoftHFSS在周期性异向介质研究中的仿真方法.pdf
  8. 2020JAVA面试题及答案
  9. MATLAB手动修改神经网络权值的方法
  10. 导航栏BottomNavigationBar使用