获取图片中感兴趣区域的信息(Matlab实现)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取图片中感兴趣区域的信息(Matlab实现)相关的知识,希望对你有一定的参考价值。

内容提要

如果一幅图中只有一小部分图像你感兴趣(你想研究的部分),那么截图工具就可以了,但是如果你想知道这个区域在原图像中的坐标位置呢? 这可是截图工具所办不到的,前段时间我就需要这个功能,于是将其用Matlab实现。

其实只要用到Matlab中的两个函数:

  1. 函数: imrect
  2. 函数: getPosition

如果要截取其中的部分图像,就离不开下面的函数:

  • 函数: imcrop

代码实现


clc;
clear;
close all;
%----------------------------------------
%                Matlab截图程序
%----------------------------------------

[filename, pathname] = uigetfile({‘*.jpg‘; ‘*.bmp‘; ‘*.gif‘; ‘*.png‘ }, ‘选择图片‘);
%没有图像
if filename == 0
    return;
end

src = imread([pathname, filename]);
[m, n, z] = size(src);
figure(1)
imshow(src)%显示原图像
%----------------------------------------
%画图后:
h=imrect;%鼠标变成十字,用来选取感兴趣区域

%----------------------------------------
%图中就会出现可以拖动以及改变大小的矩形框,选好位置后:
%---------------------------------------- 
pos=getPosition(h);

%---------------------------------------- 
%pos有四个值,分别是矩形框的左下角点的坐标 x y 和 框的 宽度和高度
%---------------------------------------- 

%---------------------------------------- 
%拷贝选取图片
%---------------------------------------- 
imCp = imcrop( src, pos );
figure(2)
imshow(imCp);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

效果展示

图中的区域信息为:

pos =

  255.8263   65.1737   87.5789   87.5789
%    x          y        dx         dy
%左上角点(x,y), 区域长宽(dx,dy)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

不要忘了图像坐标系的x和y的方向

技术分享

 
 
 
from: http://blog.csdn.net/humanking7/article/details/46822349

以上是关于获取图片中感兴趣区域的信息(Matlab实现)的主要内容,如果未能解决你的问题,请参考以下文章

OpenCvSharp用掩膜来实现圆形的ROI区域

利用Python正则匹配中文——爬取校园网公告栏中感兴趣的内容

matlab:matlab关于原图修改及画图的相关问题

你好,请问你用MATLAB提取图像中蓝色的区域是如何实现的呢????? 悬赏分:5 解决时间:2011-1-21 16

分段线性变换与直方图修正

MATLAB点云处理:查找感兴趣区域(ROI)内的点