zoukankan      html  css  js  c++  java
  • 获取图片中感兴趣区域的信息(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
  • 相关阅读:
    架构师如何才能够设计一个安全的架构
    Google Analytics实用用小技巧
    如何从Linux系统中删除用户账户
    使用C++编译器的编译流程
    JavaScript中双叹号的使用实例
    Android合并文件的三种方式代码
    自学Linux命令的四种方法
    前端工程师必备实用网站
    给 iOS App 开发者的 39 个开源的 Swift UI 库
    关于iOS项目的一本书
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/5598911.html
Copyright © 2011-2022 走看看