当前位置: 首页 > article >正文

关于数字图像处理考试

我们学校这门科目是半学期就完结哦,同学们学习的时候要注意时间哦。
选择题不用管,到时候会有各种版本的复习资料的。
以下这些东西可能会是大题的重点:

我根据平时代码总结的,供参考

基本操作:

1.读图:imread(‘图片路径’)
2.显示图:imshow(图片)
3.开新窗口:figure()
4.rgb转灰度图:rgb2gray(图片)
5.灰度图合成彩色图:图片 = cat(3,灰度图1,灰度图2,灰度图3);

实验三(直方图与直方图均衡化):

1.获取灰度直方图:a_直方图 = imhist(图片)
2.对图像进行直方图均衡化:a_均衡化 = histeq(图片)
3.对图像进行指定直方图的规定化:a_规定化 = histeq(图片,规定的直方图)

实验四(最邻近插值和双线性插值):

1.matlab 自带的函数imresize(图片,放缩倍数或者缩放后的尺寸,插值方式)
2.imresize(图片,2,’nearest’) 这个是按最邻近插值方式,按2倍放大
3.Imresize(图片,2,’bilinear’) 这个是按双线性插值方式,按2倍放大
4.imresize(图片,[500,500],’nearest’) 这个是按最邻近插值方式,指定放大后尺寸为500x500
5.Imresize(图片,[500,500],’bilinear’) 这个是按双线性插值方式,指定放大后尺寸为500x500
6.双线性插值公式原理:
在这里插入图片描述

7.最邻近插值公式原理:求映射后的最邻近下标

实验五(平滑滤波器):

1.添加噪声:
j1 = imnoise(图片,‘salt’,0.02);%椒盐噪声
j2 = imnoise(图片,‘gaussian’,0,0.01); %高斯
j1 = imnoise(图片,‘poisson’); %泊松
j1 = imnoise(图片,‘speckle’,0.04); %乘法
2.使用均值滤波器 imfilter(图片,滤波核):
Moban = one(3,3)/9; //设置滤波核
均值滤波后图片 = imfilter(图片,Moban);

3.使用中值滤波器 medfilt2(图片,窗口大小):
中值滤波后图片 = medfilt2(图片,[3,3]); 这里[3,3]表示滤波器窗口大小为3x3
注意: medfilt2()函数只能用于处理灰度图即只有一个维度的图。

实验六(锐化):

可以使用imfilter()函数实现:
先设置算子:
A = [0,-1,0;
-1,4,-1;
0,-1,0];
边缘 = imfilter(原图,A);
锐化后图片 = 边缘+原图

实验七(傅里叶变换和频域处理):一般不考

实验八(彩色图像):

1.裁剪图像:imcrop(图片,区域);
如:
rect = [区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标]
imcrop(图片,rect);

2.按比例合成:
合成后图片 = 比例1x图片1+比例2x图片2

3.将图像从 RGB 颜色空间转换为灰度空间,分别用加权法、均值法和最大值法、以及 matlab 自带的函数 rgb2gray:

啊这个函数怎么要自己实现啊,那就没有太大的必要来记,毕竟填空题因人而异,我这里用的是遍历,I是原图,S是处理后的图,没太大看的必要。
在这里插入图片描述

4.亮度增强:
CMYK亮度增强:增强后图 = 增强系数* imcomplement(原图)

实验九(图像压缩):要记住书上怎么编码的

1,求熵值/平均信息量:
核心思想就是求出每个灰度的概率,再通过公式累加计算:
熵 =
G=256; %图像的灰度级
[height,width] = size(I); %获取输入值的高和宽
[count,x] = imhist(I,G);
p = count; %原始灰度直方图
I_size = height*width;
H_x = 0;
for i=1:256 %循环
p(i) = count(i)/I_size;
if p(i)~=0; %如果像素点的概率不为零
H_x=-p(i)*log2(p(i))+H_x; %求熵值的公式
end
end
H_x就是平均信号量,即熵
2,哈夫曼编码:代码没太大看的必要

原理大家应该都懂,代码大伙们都是抄的这个吗?(ω )
[M,N] = size(I);%将图像转为二维矩阵
I1 = I( : );%转为一维向量
k = 0:255;
dict = huffmandict(k,p); %根据灰度级k和概率数组P生成Huffman字典
enco = huffmanenco(I1,dict);
deco = huffmandeco(enco,dict); %哈夫曼解码
Ide = col2im(deco,[M,N],[M,N],‘distinct’); %把向量重新转换成图像块;

3,压缩率:
B=length(enco);
sumcode=length(deco);%编码后比特长度
CR=sumcode/B;%计算压缩率
disp([‘原始图像 Bit: ‘,num2str(B),’ bit’]);
disp([‘压缩图像 Bit: ‘,num2str(sumcode),’ bit’]);
disp(['压缩率: ',num2str(CR)]);

这些就都考考选择题吧,或者填空题算算。

实验十(形态学):

1.生成结构:
% 生成方形,圆形,菱形结构:
rectangle = strel(‘rectangle’,[5 10]); % 生成5x10大小的矩形
circle = strel(‘disk’,5); % 生成半径为5的圆形
square = strel(‘square’,5); % 生成5x5大小的正方形(也就是菱形)

2,腐蚀:imerode(图片,结构);
3,膨胀:imdilate(图片,结构);
4,开运算:imopen(图片,结构);
5,闭运算:imclose(图片,结构);

实验十一(图像分割):不怎么考


http://www.kler.cn/a/232273.html

相关文章:

  • 【大模型实战篇】vLLM的由来以及大模型部署、推理加速实践
  • sealos部署K8s,安装docker时master节点突然NotReady
  • PyQt入门指南五十二 版本控制与协作开发
  • k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储
  • 高防服务器的费用受到哪些原因影响?
  • 使用Python实现对接Hadoop集群(通过Hive)并提供API接口
  • 【Java八股面试系列】JVM-内存区域
  • WebSocket+Http实现功能加成
  • 前端学习之路(6) npm详解
  • 计算机网络总结
  • Linux 36.2@Jetson Orin Nano基础环境构建
  • 前端开发中不同语言【react-i18next】
  • 交通 | 共乘出行(下):基于图结构的动态多时空供需网络的均衡度量方法
  • todolist的五种写法(原生、vue2、vue3、react类组件,react函数组件)
  • tee漏洞学习-翻译-2:探索 Qualcomm TrustZone的实现
  • python将Excel文档转成.db数据库文件
  • Vue2中v-for 与 v-if 的优先级
  • flask+pyinstaller实现mock接口,并打包到exe运行使用postman验证
  • video标签
  • 传输层协议 ——— TCP协议
  • Hyper-V 调整 设置 Ubuntu 虚拟机的分辨率
  • 人类的信息不同于机器的信息
  • 图论与图数据应用综述:从基础概念到知识图谱与图智能
  • 【RL】Bellman Equation (贝尔曼等式)
  • 【开源】JAVA+Vue.js实现高校实验室管理系统
  • 算法学习系列(三十三):线性DP