MATLAB手动选取roi区域(自己写的一个小函数)

  • Post author:
  • Post category:其他




简单的matlab的手动选取ROI区域的函数
function [out_roi] = Choose_ROI(meta_path)
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
a = imread(meta_path);  %从路径读取图片 比如 ./jx.jpg
figure(1),imshow(a);
b=imrect;
h=getPosition(b); %在图片上画roi区域  

%一般图片有三个维度(行,列,三通道)  round函数是四舍五入取整
row=round(h(2));    %左上角的点的所在的行
col=round(h(1));    %左上角的点所在的列
high=round(h(4));   %roi区域的高度
width=round(h(3));  %roi区域的宽度
out_roi=a(row:row+high,col:col+width,:  );
figure(2),imshow(out_roi);
end



函数缺陷

这个函数在图上画了区域之后就直接获取数据并往后执行了,不能弹出一个提示框是否要使用这个区域或者是否重画,如果自己手滑或者画的区域不满意,就只有重新再运行一次该函数

当然封装成项目的时候可以把这个函数单独弄出来,混合编译,设置一个按钮,直到满意为止



事例效果

在这里插入图片描述



版权声明:本文为blin_xun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。