加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab help 图像局部处理

(2014-02-21 22:34:34)
标签:

roi

mask

createmask

roifilt2

分类: 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 imread('pout.tif');
subplot(131)
h_im imshow(img);
imellipse(gca,[55 10 120 120]);
BW createMask(e,h_im);
 
img_new double(img) .* double(BW)
subplot(132), imshow(BW)
subplot(133), imshow(img_new, [])

http://s15/middle/002pSPISzy6GLJ1VJXE8e&690help 图像局部处理" TITLE="Matlab help 图像局部处理" />

另一种方法是使用 poly2mask 函数直接创建 mask
[123 123 170 170]; 
[160 210 210 160];
291;  height of pout image
240;  width of pout image
BW poly2mask(c,r,m,n);
figure, imshow(BW)
http://s3/middle/002pSPISzy6GLJ1YXDQe2&690help 图像局部处理" TITLE="Matlab help 图像局部处理" />

二、区域滤波 (Filtering an ROI)

1. ROI 滤波概述
区域滤波就是对图像感兴趣的部分进行滤波。例如对图像特定区域进行灰度值调整。
为了对 ROI 进行滤波,可以使用 roifilt2 函数。函数需要以下几个输入信息。
(1)需要滤波的灰度图像
(2)二值 mask 图像,用来定义 ROI
(3)滤波器(函数或者二维滤波器均可)
实例:对图像特定区域进行滤波
imread('pout.tif');
h_im imshow(I);
imellipse(gca,[55 10 120 120]);
BW createMask(e,h_im);
 
fspecial('unsharp');
I2 roifilt2(h, I, BW);
figure, imshow(I)
figure, imshow(I2)
http://s10/middle/002pSPISzy6GLJ21b29e9&690help 图像局部处理" TITLE="Matlab help 图像局部处理" />
可以看出,脸部清晰了很多。

2. 自定滤波操作
roifilt2 函数可以实现自定滤波函数作用于 ROI 。下面的例子就是用 imadjust 函数来增亮图像的一部分。
imread('cameraman.tif');
BW imread('text.png');
mask BW(1: 256, 1: 256);
@(x) imadjust(x, [], [], 0.3);
I2 roifilt2(I, mask, f);
imshow(I2);
http://s16/middle/002pSPISzy6GLJ257sz1f&690help 图像局部处理" TITLE="Matlab help 图像局部处理" />










0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有