MATLAB--数字图像处理 采样
1、MATLAB软件安装后,点击进去,出现如下界面
其中右边空白区域(有fx那块区域),就是我们的编写代码的区域
左边就是工作区,有我们的一些变量值,上面就是软件的一些按钮,有一定的功能
- 了解采样
首先,我们要知道采样是什么?
采样:我们获取到的图像一般为模拟图像,要让计算机进行处理需将其数字化,采样的作用就是将模拟图像转变为数字图像。一般来说,采样间隔越大,所得图像像素数越少,空间分辨率越低,质量差,严重时出现马赛克效应;采样间隔越小,所得图像像素数越多,空间分辨率越高,图像质量好,但数据量大。简单的说,采样就是将图片数字化,采集的数字特征越多,其再计算机上显示的图像越逼真。
3、编写采样代码
首先准备一张图片,然后进入代码区域编写如下代码,按下Enter键,就有如下结果
t=imread('t1.jpg') %读取图片
t1=rgb2gray(t) %将图片灰度化
t2=t1(1:4:end,1:4:end) %采样
imshow(t2) %显示在屏幕上
由于我也是才开始接触MATLAB和图像处理,有很多地方也还是不清楚。这里我说一下自己踩过的坑吧。
- 在MATLAB代码区换行是:shift+Enter
- 图片的路径有两种,一种是相对路径,一种是绝对路径。相对路径就是左边工作台有个路径,我们把图片存在这里,在编写代码的时候,就可以直接用图片的名字为路径(见下图,我们就直接存在bin这个目录下面就行)。第二种就是,输入图片在电脑存的路径,这个也好找,直接在文件里面就有
- MATLAB默认只打开一个窗口,如果有2个imshow,只会出现第一imshow的内容,想要多个窗口,用figure。
- t2=t1(1:4:end,1:4:end) %采样 这句话的意思是,t2是计算机对t1横向、纵向都是每隔4的像素点取样,这样t2就会比t1更加模糊(采集的像素点少了)
- 有人会问,为什么一来要对图片进行灰度化处理呢? 这个是因为,一张图片,彩色的,有R、G、B三个通道的数据,也就是如果直接执行下面代码的话,会出现三种图片,对应R G B .`t=imread('t1.jpg')
t2=t(1:4:end,1:4:end)
imshow(t2)` 所以想要得到一张图片的话,就必须先进行灰度化处理。(这里我们图像处理都是先读取图片数据,读取的数据是以矩阵形式存在,矩阵的的值为灰度值,0~~255,没有彩色之分,所以彩色图片进来的话,系统会对r g b三个通道分别读取灰度值,也就形成了三张图片了。)
完整代码及效果图:
t=imread('t1.jpg')
t1=rgb2gray(t)
imshow(t1),title('原图') %原图像 需要将其先转换为灰度图像
t2=t1(1:2:end,1:2:end)
t3=t1(1:4:end,1:4:end)
t4=t1(1:8:end,1:8:end)
t5=t1(1:16:end,1:16:end)
figure,subplot(2,2,1),imshow(t2),title('1:2采样')
subplot(2,2,2),imshow(t3),title('1:4采样')
subplot(2,2,3),imshow(t4),title('1:8采样')
subplot(2,2,4),imshow(t5),title('1:16采样')