12月14号数字图像处理就要考试了.3.5个学分, 现在绩点只有2.2. 考到80分以上才能提高我的绩点. 2.5绩点才能再4级没过的情况下毕业. 我肯定会尽最大努力准备12月14号的英语4级考试.
第一章是绪论没有代码, 先不看了.
第二章:数字图像处理的基础
2.1.1: 数字图像的基础知识, 先不看
2.1.2:亮度适应和鉴别: 人的眼睛对图像的两个现象
dydxh带现象: 我个人的理解是, 在不同的色带的边缘处, 人的眼睛看起来好像有一条颜色不同的线.imagesc(1:8);colormap(gray);
同时对比现象: 感觉的亮度的区间不是简单的取决于光的强度, 还和其他的区间的对比有关, 相同的亮度的区间, 如果它的背景变暗, 人眼看上去就显得暗淡一些, 如果背景变暗, 那么看上去就亮了不少.
% 第一块colormap(gray);dark = zeros(256, 256);dark(64: 192, 64: 192) = 0.5; subplot(1, 3, 1); imshow(dark) % 第二块 middle(1: 256, 1: 256) = 0.7; middle(64: 192, 64: 192) = 0.5; subplot(1, 3, 2); imshow(middle) % 第三块 bright = ones(256, 256); bright(64: 192, 64: 192) = 0.5; subplot(1, 3, 3); imshow(bright)
红zrdsn的灰色的色块的色度都是相同的, 但是由于背景的颜色不同, 人眼看起来的时候就不同了, 背景颜色越淡, 中间的色块就显得越深.
2.2 数字图像的基础知识:
2.2.1 图像的数字化和表达式: 理论知识, 之后再看.
2.2.2 图像的获取: 理论知识, 之后再看.
2.2.3 像素间的基本关系: 理论知识, 之后再看.
2.2.4: 图像的分类: 图像分为四种: 1、二值图像;2、亮度图像;3、索引图像;4、RGB图像
1、二值图像:只有黑白两种颜色, 每一个像素仅占1bit. 0为黑, 1为白
clearx = zeros(50, 50);x(2: 2: 50, 2: 2: 50) = 1; % 这句话的意思是从第二行的第二个开始, 到第50结束,每2个数字 % 和从第二列开始, 到第50列结束,每2位选中, 将其赋值为1 imshow(x)
2、亮度图像: 像素灰度级用8bit标示, 每个像素都是介于黑色和白色之间的256种灰色之一.
clearx = imread('lena.jpg');imshow(x);y = x(128:138, 128: 138); figure, imshow(y);
这是裁剪出来的色度图像, 下面是图像的每一个点的二进制值.
142 179 173 184 184 192 171 133 166 208 185
150 149 159 139 137 135 132 112 124 146 114
137 126 117 110 117 101 109 108 109 105 92
108 102 126 110 108 111 107 96 128 138 142
102 102 126 109 104 104 100 98 139 203 217
118 140 110 112 125 83 101 127 121 220 239
124 165 137 129 143 114 120 121 109 223 238
124 160 174 143 135 136 123 110 150 237 248
132 172 185 158 136 114 121 156 230 234 252
152 179 187 196 189 175 191 225 243 244 244
190 163 175 196 206 205 212 221 219 228 230
3、索引图像: 索引图像一个像素占8bit, 最多显示256种颜色. 但是这256种颜色是表示颜色表中的颜色, 通过索引值, 找到对应的颜色表中的颜色.
clearRGB = imread('flower608.jpg');[x, map] = rgb2ind(RGB, 128); imshow(x, map)这是原图
这是生成的索引图像.
4、 RGB图像: 图像的每一个像素点都由红绿蓝三种颜色字节组成, 即每一个像素点有255乘以255乘以255总共16581375(1670W)种可能性.
clear[x, map] = imread('smile.jpg');y = x(300: 500, 300: 500); imshow(y) R = x(90:95, 90: 95, 1); G = x(90:95, 90: 95, 2); B = x(90:95, 90: 95, 3);R :
235 235 235 235 235 235
235 235 235 235 235 235
235 235 235 235 235 235
235 235 235 235 235 235
235 235 235 235 235 235
235 235 235 235 235 235
G :
225 225 225 225 225 225
225 225 225 225 225 225
225 225 225 225 225 225
225 225 225 225 225 225
225 225 225 225 225 225
225 225 225 225 225 225
B :
215 215 215 215 215 215
215 215 215 215 215 215
215 215 215 215 215 215
215 215 215 215 215 215
215 215 215 215 215 215
215 215 215 215 215 215
第三章: 图像的基本运算
3.1: 概述, 介绍图像有多少种的运算, 之后的几小节分别的深入的介绍每一种图像运算的内容.图像一共有四种运算, 分别为: 1、点运算;2、代数运算;3、逻辑运算;4、几何运算.
3.2 点运算: 点运算是将每一个像素点的灰度值按照一定的映射关系进行运算, 得到一幅新的图像的过程. 这个算法是比较重要的, 是其他的算法的基础.........大概就这个意思吧.
3.2.1线性点运算: 我的理解就是映射关系是线性的.
采用的方程是s=ar+b.
a>1 新的图像对比度加大, 反之, 对比度减小.
a=1, 新图片和原图片保持一致.
a<0, 暗区变亮, 亮区变暗.
I = imread('coins.jpg'); % 读取一张图片I = im2double(I); % 转换数据类型为doublefigure(1);subplot(1, 5, 1); imshow(I); title('原图像', 'FontSize', 7); % 显示原图片 a = 2; b = -50; % 增加对比度 o = a .* I + b/255; figure(1);subplot(1, 5, 2); imshow(o);title('a = 2, b = -50, 增加对比度', 'FontSize', 7); a = 0.5; b = -50; % 减小对比度 o = a .* I + b/255; figure(1);subplot(1, 5, 3); imshow(o);title('a = 0.5, b = -50, 减小对比度', 'FontSize', 7); a = 1; b = 50; % 线性增加亮度 o = a .* I + b/255; figure(1);subplot(1, 5, 4); imshow(o);title('a = 1, b = 50, 线性增加亮度', 'FontSize', 7); a = -1; b = 255; % 图像反色 o = a .* I + b/255; figure(1);subplot(1, 5, 5); imshow(o);title('a = 0.5, b = -50, 减小对比度', 'FontSize', 7);
3.2.2: 非线形点运算, 对映关系函数不是线形的一次函数
表达式为 s=clog(1+r)
c为常数, r>=0
不会描述, 这个, 直接上代码吧, 以后再想.
I = imread('smile.png');subplot(1, 4, 1); imshow(I);title('原图像', 'FontSize', 10); subplot(1, 4, 2); imshow(imadjust(I, [], [], 0.1));title('Gamma=0.1'); subplot(1, 4, 3); imshow(imadjust(I, [], [], 1));title('Gamma=1'); subplot(1, 4, 4); imshow(imadjust(I, [], [], 2));title('Gamma=2');
3.3: 代数运算与逻辑运算
3.3.1: 加法运算: 图像相加用于同一场景的多幅图像平均求值, 用来降低加性噪声.
下面的代码是先给图片加上怕黑的宝马噪点, 然后通过100副图像的平均求值, 减弱噪点.
转载于:https://www.cnblogs.com/huangZ-H/p/9954202.html