数字图像处理——月亮图像的识别与裁剪

本文介绍如何使用MATLAB进行数字图像处理,针对带有月亮的图片,通过find函数、投影法和遍历法,裁剪出仅包含月亮的区域。详细探讨了find函数在寻找矩阵非零元素坐标中的应用。
摘要由CSDN通过智能技术生成

已知一张带有月亮的图片(左),截取只有月亮的区域(右),效果如图:
在这里插入图片描述
预备知识:
find函数作用:
如图运行结果所示,a是一个二维矩阵,find函数作用是找到矩阵中所有不为零的点的坐标。坐标编号是从最左边一列开始,从上到下依次为1,2,3。。。换列时数字继续累加。
在这里插入图片描述
方法一:find法


img=imread('moon.png');%读取moon图像
W=im2bw(img);%把moon图像转化为二值图
[r,c]=find(W);%用find函数找到二值图中从上到下,从左至右所有像素点中值不为零的坐标
figure;%绘制一个窗口
subplot(121),imshow(img);%显示moon图像的原图
subplot(122),imshow(img(min(r):max(r),min(c):max(c),:));%从上到下,从左至右从前到后显示截取后的图像

方法二:投影法,利用sum函数


img=imread('moon.png');
W=im2bw(img);
c=find(sum(W));把二值图中的每个列相加,得到一个一维的矩阵,即得到一个原图中从上到下的一个投影。再用find函数找到这个一维数组中所有值不为0的值的坐标
r=find(sum(W'));通过图
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值