数字图像处理
1.图像工程的三个层次是指哪三个层次?各个层次对应的输入、输出对象分别是什么?
图像处理
特点:输入是图像,输出也是图像,即图像之间进行的变换。
图像分割
特点:输入是图像,输出是数据。
图像识别
特点:以客观世界为中心,借助知识、经验等来把握整个客观世界。“输入是数据,输出是理解。
2.常用的颜模型有哪些(列举三种以上)?并分别说明颜模型各分量代表的意义。
RGB(红、绿、蓝)模型
CMY(青、品红、黄)模型
HSI(调、饱和度、亮度)模型
3.什么是图像的采样?什么是图像的量化?
1.采样
    采样的实质就是要用多少点来描述一幅图像,采样结果质量的高低就是用前面所说的图像分辨率来衡量。简单来讲,对二维空间上连续的图像在水平和垂直方向上等间距地分割成矩形网状结构,所形成的微小方格称为像素点。一副图像就被采样成有限个像素点构成的集合。例如:一副640*480分辨率的图像,表示这幅图像是由640*480=307200个像素点组成。
2.量化
    量化是指要使用多大范围的数值来表示图像采样之后的每一个点。量化的结果是图像能够容纳的颜总数,它反映了采样的质量。
针对数字图像而言:
采样决定了图像的空间分辨率,换句话说,空间分辨率是图像中可分辨的最小细节。
量化决定了图像的灰度级,即指在灰度级别中可分辨的最小变化。
数字图像处理(第三次课)
调用图像格式转换函数实现彩图像、灰度图像、二值图像、索引图像之间的转换。
图像的类型转换:
对于索引图像进行滤波时,必须把它转换为RGB图像,否则对图像的下标进行滤波,得到的结果是毫无意义的;
灰度图像到索引图像
[X,map]=gray2ind(I, n)
将灰度图像I转化成索引图像
真彩图像到二值图像
BW=im2bw(RGB, level)
基于level将彩图像RGB转化为二值图像
真彩图像到灰度图像
I=rgb2gray(RGB)
将真彩图像RGB转换为灰度图像I
真彩图像到索引图像
[X,map]=rgb2ind(RGB,n)
[X,map]=rgb2ind(RGB,tol)
直接将真彩图像RGB转化为索引图像X并返回颜图
图像抖动转换图像
X=dither(RGB, map)
BW=dither(I)
通过颜图将RGB图像转化为近似的索引图X;
或把灰度图像I转化为二值图像
2.用MATLAB完成灰度图像直方图统计代码设计。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function ladylenna()
a=imread('C:\lenna.jpg');        %读取图像至工作空间
imfinfo('C:\lenna.jpg')          %查看图像信息
subplot(2,2,1);
imshow(a); 
title('lady-lenna');
if isrgb(a); 
    b=rgb2gray(a);            %RGB转换为灰度图像
end 
subplot(2,2,2); 
imshow(b);                      %显示图像
title('ladygaga-lenna'); 
[m,n]=size(a);                %返回图像大小
e=zeros(1,256);
for k=0:255   
    for i=1:m         
        for j=1:n           
            if a(i,j)==k               
                e(k+1)=e(k+1)+1;  %灰度值相同的进行累加           
            end       
        end   
    end
end 
subplot(2,2,4); 
bar(e);                          %画图像的灰度直方图
title('灰度直方图'); 
c=imrotate(a,20);               
%图像的旋转
subplot(2,2,3);
imshow(c);
数字图像处理(第四次课)
编写matlab函数,实现在医学图像中数字减影血管造影。即实现两幅图像的差值图像。
1
ladygaga2
3
4
5
6
7
8
9
实验代 
I=imread('F:\图像处理\1.jpg');%原始图像
imshow(I);
BK=imread('F:\图像处理\2.jpg');%背景
figure;
imshow(BK);
Ip=imsubtract(I,BK);%图像减背景
figure;
imshow(Ip,[])
实验结果:
图像剪切:
     
任意选择一幅图片,实现图像的镜像。
这题其实就是一个函数imcrop()的使用而已。
1
2
3
4
5
6
7
8
9
10
close all;
clear all;
clc;
img=imread('F:\图像处理\3.jpg');
imshow(img);
imgn=imcrop();      %这里把要裁剪的图像框出来
figure;
imshow(imgn)        %显示裁剪的图像
实验结果:
实现图像的镜像:
                                       
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
实验代 
clear all;   
close all;   
clc;   
A=imread('F:\图像处理\4.jpg');   
[height,width,dim]=size(A); 
tform=maketform('affine',[-1 0 0;0 1 0;width 0 1]); 
B=imtransform(A,tform,'nearest');%B中存储的是经过水平镜像变换后的图像 
tform2=maketform('affine',[1 0 0;0 -1 0;0 height 1]); 
C=imtransform(A,tform2,'nearest');%C中存储的是经过竖直镜像变换后的图像 
subplot(1,3,1),imshow(A); 
title('原图像'); 
subplot(1,3,2),imshow(B); 
title('水平镜像'); 
subplot(1,3,3),imshow(C); 
title('坚直镜像'); 
subplot(2,2,3);
imshow(c);