分享

使用Matlab处理图像(二)

 小白学视觉 2021-01-28

啦啦啦,小白又来讲Matalb的图像处理啦。

小伙伴们可能会遇到这样一个情况,填写某些信息的时候不仅需要对图片的大小有要求,还对像素有要求,比如说需要640*1280的图像。甚至有些封装好的程序也需要输入指定像素大小的数据。

如果图像要求不是很严格的话,小白一般都会用截图的方式放到word里面,之后进行拉伸,大致符合要求后上传。这种方式只适合要求比较松的情况,对严格要求像素尺寸的情况下,还是需要在像素级别上进行处理。

根据上一讲内容,首先将图像读取进来,之后使用imresize()函数就可以实现任意图片尺寸的转换。这里小白要说,当你想知道一个函数的使用方法的时候,可以通过百度查看别人的例程,也可以用help命令查看Matlab提供的例程。例如:

help imresize

使用上面命令就可以查看imresize()函数的使用方法。(友情说明哦,这个命令是要在命令窗口里面输入的)这里我们使用该函数最基本的方式就可以实现我们想要的功能。

image = imread('xiaobai.jpg');

image_resize = imresize(image,[200 200]);

imshow(image_resize);

imresize()函数的第一个参数是我们想要拉伸的原始图像,第二个参数是我们拉伸后图像的像素大小。我们看一下运行的结果。

大家看,小白又变小了。但是光从图像上并不能说明变小了,那么我们看一下数据空间。

确实变成了200*200的图片了,之后使用上一讲说到的保存函数将图片保存起来就完成了图像的转换。当然这个函数不仅可以缩小,也可以放大,也可以改变长宽高的比例。

image = imread('xiaobai.jpg');

image_resize = imresize(image,[200 200]);

image_change = imresize(image,[200 100]);

image_biger = imresize(image,[1280 1280]);

imshow(image_change);

上面程序分别将小白变成“高白”和“大白”。我们看一下运行的效果。

我们的小白确实长高了对不对,而且各项比例也很协调。

接下来我们让小白转起来。使用imrotate()函数便可以实现小白的旋转跳跃。

image=imrotate(image,20);%后面的20是旋转的度数

我们来看一下小白旋转之后的样子

下面我们让小白倒立

最后呢,我们让小白“照镜子”

不知道大家有没有发现一个小细节,就是我把胸前的图标放到左边去啦。对的,就是将整张图片进行了进行了左右对称。使用的是下面的函数:

image=flipdim(image,2);%后面的系数改为1就是上下对称

小伙伴们可以去help查看一下该函数,看看还有没有其他好玩的功能。

到这里今天小白就要和大家说再见啦,因为小白要去准备下午的英语考试啦~下一期的内容小白将会为大家带来图像滤波相关的讲解,请感兴趣的小伙伴记得订阅呦~

但是由于小白下午要考试,所以原本今天准备为大家带来的”小狗模糊相片识别“的推送和程序源码就来不及为大家推送啦,还请各位小伙伴多多包涵。小白坚持每天都更新,希望小伙伴可以将公众号推送给周围的朋友,谢谢大家


如果您喜欢本文和本公众号,

希望您能推送给周围的好友。

一个赞就是对小白的一种支持

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多