获取图片中感兴趣区域的信息(Matlab实现)
2016-06-19 21:41
288 查看
内容提要
如果一幅图中只有一小部分图像你感兴趣(你想研究的部分),那么截图工具就可以了,但是如果你想知道这个区域在原图像中的坐标位置呢? 这可是截图工具所办不到的,前段时间我就需要这个功能,于是将其用Matlab实现。其实只要用到Matlab中的两个函数:
函数:
imrect
函数:
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在图像上画矩形框
- 如何从MATLAB里面保存出分辨率高的图形
- 基于PCNN的图像增强matlab代码
- MATLAB 与Modelsim之间对测试系统的联合仿真
- 不同工具下的矩阵乘法速度测试
- ROS与Matlab协同进行运动控制
- matlab从入门到精通(一)安装软件及使用方法
- matlab颜色映射colormap() pcolor()
- Matlab编程笔记之GUI程序转exe
- Matlab从日文转换成英文或中文转换成英文
- Matlab实现手写数字识别(PCA+KNN)
- matlab中连接mysql数据库
- java中调用matlab的函数
- matlab透视变换
- 《機器學習實戰》學習筆記
- 【caffe-Windows】微软官方caffe之 matlab接口配置
- ESN(Echo State Network) Source Code
- libSVM安装-64位MATLAB
- Matlab 程序性能(计算速度)分析方法
- Matlab学习笔记之安装教程