标签:
roimaskcreatemaskroifilt2 |
分类: Matlab |
(Region of Interest) ROI-Based Processing
一、确定感兴趣的区域(Specifying a Region of Interest (ROI))
1. ROI 概述
ROI 就是图像中需要特别处理的一部分。我们可以选择 ROI 通过一个二值 mask
,它是一个与待处理图像大小相同的二值图像,ROI 部分定义为 1, 其它部分定义为 0 。
2. 创建一个二值面具 (Binary Mask)
可以使用 createMask 函数来创建面具。选取的形状可以通过函数 impoint,
imline, imrect, imellipse, impoly 或者
imfreehand 来创建。
img
subplot(131)
h_im
e
BW
img_new
subplot(132),
subplot(133),
|
http://s15/middle/002pSPISzy6GLJ1VJXE8e&690help 图像局部处理" TITLE="Matlab help 图像局部处理" />
另一种方法是使用 poly2mask 函数直接创建 mask
c
r
m
n
BW
figure,
|
http://s3/middle/002pSPISzy6GLJ1YXDQe2&690help 图像局部处理" TITLE="Matlab help 图像局部处理" />
二、区域滤波 (Filtering an ROI)
1. ROI 滤波概述
区域滤波就是对图像感兴趣的部分进行滤波。例如对图像特定区域进行灰度值调整。
为了对 ROI 进行滤波,可以使用 roifilt2 函数。函数需要以下几个输入信息。
(1)需要滤波的灰度图像
(2)二值 mask 图像,用来定义 ROI
(3)滤波器(函数或者二维滤波器均可)
实例:对图像特定区域进行滤波
I
h_im
e
BW
h
I2
figure,
figure,
|
http://s10/middle/002pSPISzy6GLJ21b29e9&690help 图像局部处理" TITLE="Matlab help 图像局部处理" />
可以看出,脸部清晰了很多。
2. 自定滤波操作
roifilt2 函数可以实现自定滤波函数作用于 ROI 。下面的例子就是用 imadjust
函数来增亮图像的一部分。
I
BW
mask
f
I2
imshow(I2);
|
http://s16/middle/002pSPISzy6GLJ257sz1f&690help 图像局部处理" TITLE="Matlab help 图像局部处理" />