matlab 计算一个图像每个像素的邻域均值. 邻域取3 ×3 大小的窗口 5
这样的程序该怎样实现啊?哪位高手帮帮我吧!
另外,领域均值和线性空间滤波是不是一个概念,我看有人怎么把线性空间滤波的程序说成是领域均值的程序,这两个是不是一个概念啊?
程序如下:
下面的两个例子分别用正方形和圆形的模板进行邻域均值。
>> w1=fspecial('average'); %产生一个3x3大小的方形平均滤波模板w1
>> g1=imfilter(f,w1,'replicate'); % g1为处理后的图像。'replicate'指卷积填充边缘时用复制边界的值来扩展。
>> w2=fspecial('disk'); %产生一个半径为5的圆形平均滤波模板w2
>> g2=imfilter(f,w2,'replicate'); % 同样,g2为处理后的图像,'replicate'指卷积填充边缘时用复制边界的值来扩展。 展开
close all; clear all; clc;
以MATLAB附带的图像pout.tif为例实现上述过程:
I = im2double(imread('pout.tif'));
fun = @(block_struct) mean2(block_struct.data);
I1 = blockproc(I, [3, 3], fun);
figure;
subplot(121), imshow(I);
subplot(122), imshow(I1);
B=blockproc(A, [m,n], fun):该函数对输入图像A,采用大小为m*n的分离块,利用函数fun处理,处理后的结果连接成输出图像B。其中fun是函数句柄,该函数输入为结构体,返回矩阵,向量或变量。
扩展资料
图像的区域选取
BW = roipoly(I) 显示当前灰度或RGB图像I,并创建与当前图像I相关的交互式多边形ROI区域选择工具
BW = roipoly(I,xi,yi) 根据xi和yi返回感兴趣的区域ROI。其中,xi和yi说明感兴趣的多边形各个顶点行列序号,xi和yi两个向量大小相同
BW = roipoly(x,y,I,xi,yi) 根据向量x和y建立一个空间坐标系,根据xi和yi在x和y坐标系下定义的多边形顶点选择输入图像I的ROI区域
[BW,xi2,yi2] = roipoly(___) 返回x和y坐标系下感兴趣区域的顶点坐标xi和yi
2024-08-07 广告