matlab如何将感兴趣的目标区域用最小外界矩形分割出来
2个回答
展开全部
你需要先知道每一个O占的大小 比如占8*8个像素
SkipStep=8;%每一个O的大小 和遍历的补偿
M=8;
N=8;
n=0;%编号
I=imread('**.jpg');
I=rgb2gray(I);%灰度转化
[H,W]=size(I);
xStepNum = floor((W-N)/SkipStep+1);%朝负无穷方向取整 宽度方向block移动的次数
yStepNum = floor((H-M)/SkipStep+1);%朝负无穷方向取整 高度y方向移动的次数
for j=1:xStepNum%一列一列来取的
for m=1:yStepNum
n=n+1;
PImg=I((m-1)*SkipStep+1:(m-1)*SkipStep+M,(k-1)*SkipStep+1:(k-1)*SkipStep+N);%分割图像
y='jpg';
w=strcat(n,'.',y);
imwrite(PImg,w);%保存分割出来的图片 格式为jpg 名字为编号n
end
end
但是这样也把不是O的取出来了,你可以知道没有O的地方的n 你到时候不用即可
SkipStep=8;%每一个O的大小 和遍历的补偿
M=8;
N=8;
n=0;%编号
I=imread('**.jpg');
I=rgb2gray(I);%灰度转化
[H,W]=size(I);
xStepNum = floor((W-N)/SkipStep+1);%朝负无穷方向取整 宽度方向block移动的次数
yStepNum = floor((H-M)/SkipStep+1);%朝负无穷方向取整 高度y方向移动的次数
for j=1:xStepNum%一列一列来取的
for m=1:yStepNum
n=n+1;
PImg=I((m-1)*SkipStep+1:(m-1)*SkipStep+M,(k-1)*SkipStep+1:(k-1)*SkipStep+N);%分割图像
y='jpg';
w=strcat(n,'.',y);
imwrite(PImg,w);%保存分割出来的图片 格式为jpg 名字为编号n
end
end
但是这样也把不是O的取出来了,你可以知道没有O的地方的n 你到时候不用即可
东莞大凡
2024-08-07 广告
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询