简单的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 版权协议,转载请附上原文出处链接和本声明。