matlab 水平投影,matlab图像处理方面的问题。水平投影和垂直投影!

该博客介绍了如何使用MATLAB进行图像处理,特别是水平和垂直投影的实现。首先将图像转换为灰度,然后通过设定阈值进行二值化。接着,遍历二值图像计算行和列的投影,记录非零像素点,并找到投影变化的位置。最后,根据投影结果分割图像并保存。博客中展示了原始灰度图像、二值化图像以及水平和垂直投影的直方图。
摘要由CSDN通过智能技术生成

我在本论坛找了一个程序:

I=imread('mp23.jpg');

I1=rgb2gray(I);                  %转换成灰度图像

Imax=double(max(max(I1)));       %返回最大值

Imin=double(min(min(I1)));       %返回最小值

T=round(Imax-(Imax-Imin)/2);     %确定阀值

I2=(I1)>=T;

[width, length] = size(I2);      %求图片长宽

marrow = ones(width, 1);         %存储行的像素值的 width*1 矩阵

marcol = ones(1, length);        %存储列的像素值的 1*length 矩阵

%%%%% 求行的投影 %%%%%%

for row = 1 : width

rFlag = 0;  % 记录行的像素点

for col = 1 : length

if I2(row, col) == 0

rFlag = rFlag + 1;  %记录像素点

end

end

marRow(row, 1) = rFlag;  %记录投影点R+1;

end

bottomR = [];

n1 = 1;

for row = 1 : width-1

if ((marRow(row, 1) ~= 0) && (marRow(row+1, 1) ==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值