【第22期】观点:IT 行业加班,到底有没有价值?

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

原创 2015年07月09日 22:04:07

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:http://blog.csdn.net/humanking7/article/details/46822349


内容提要

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

效果展示

图中的区域信息为:

pos =

  255.8263   65.1737   87.5789   87.5789
%    x          y        dx         dy
%左上角点(x,y), 区域长宽(dx,dy)

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

1

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

在matlab图像处理中太有用了,regionprops用来度量图像区域属性的函数。

在matlab图像处理中太有用了,regionprops用来度量图像区域属性的函数。 函数:regionprops。顾名思义:它的用途是get the properties of region,...

使用Matlab对二值图像进行轮廓提取

参考资料 [1]

灰度图像形状的识别分类算法实现matlab

摘  要: 针对已经给出的图像,在分类之前,因为存在噪声和光照的不同,所以要先进行图像增强,并统一将图像转为二值图像。对图像进行边缘检测,可以很容易算出各个图像面积与周长二次方的比值关系,对图像进行直...

matlab二值图像区域识别(图遍历)

按要求实现matlab中bwlabel的功能。本方法是基于图的广度,深度优先遍历。 % 找二值图像中联通区域的个数,以及大小 % 算法思想: % 在图像中找到一个目标点(可以是自顶向下、从左...

使用Matlab对二值图像进行轮廓提取

转自:http://blog.csdn.net/q1302182594/article/details/50394576  本文主要总结一下在matlab中可用于进行轮廓提取的函数。 1 bwpe...

matlab找到图像的最大连通区域

必须内部是填满的,封闭的一个区域。 方法一: im4=imfill(im3,'holes');  [L,num]=bwlabel(im4,4); x=zeros(1,num); fo...

利用MATLAB截取图片某个区域

pic = imread('1.jpg'); imshow(pic); [x,y] = ginput(2);    %确定图像上的两点利用ginput函数,返回值是两点的坐标 pic_1 =...

定位图像中像素坐标的方法(matlab)

1. ginput[x,y] = ginput(n),n为你想选的点的个数,鼠标点的那些点的横坐标和纵坐标就会保存到[x,y]中或者直接输入ginput,最后以回车结尾2. pixval显示图像后,直...

使用matlab识别条形码(目前还无法自动定位图片中条形码位置,需人工确定条形码所在范围区间)

close all I = imread('C:\Users\Administrator\Desktop\001.bmp'); A=size(I); if length(...

使用MATLAB在图像中选择矩形框区域的操作函数即过程

在MATLAB图像处理工具箱(Image Processing Toolbox)的GUI函数中,有一些用来在图像或坐标轴上选择矩形或椭圆区域的函数,使用示例如下: [plain]...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)