• 获取图片中感兴趣区域的信息(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的方向

    1

     
     
     
    from: http://blog.csdn.net/humanking7/article/details/46822349
  • 相关阅读:
    41.分词器简单介绍
    40.倒排索引核心原理
    39.exact value and full text
    38.mapping小例子
    37.query string、_all metadata
    36.分页及deep paging
    35.multi-index和multi-type搜索模式
    BZOJ 1680 [Usaco2005 Mar]Yogurt factory:贪心【只用考虑上一个】
    BZOJ 1637 [Usaco2007 Mar]Balanced Lineup:前缀和 + 差分
    BZOJ 1647 [Usaco2007 Open]Fliptile 翻格子游戏:部分枚举 位运算
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/5598911.html
Copyright © 2020-2023  润新知