![]() |
求助——如何改变程序中中值滤波的窗口大小
弄毕设。。。求助:
如何改变程序中中值滤波的窗口大小?谁能告诉我。medfilt2应该只是3x3的窗口,那5x5,7x7等等呢?圆形窗口怎么定义?谢谢啊。。。各位。。。 |
回复: 求助——如何改变程序中中值滤波的窗口大小
事实上MATLAB中的中值滤波若直接用medfilt2函数。默认的就是3x3的窗口,如果用5x5,可直接设定参数例如:
I=imread('9.bmp'); A=rgb2gray(I); IMG_MED=medfilt2(A,[5 5]); figure,imshow(IMG_MED); 是可以的,但是你的滤波效果和窗口的大小有关,具体问题具体分析。 另外建议楼主,如果是中值滤波的话,最好还是自己写程序,其实不难。:) |
回复: 求助——如何改变程序中中值滤波的窗口大小
您好,请问圆形窗口如何定义呢?
|
回复: 求助——如何改变程序中中值滤波的窗口大小
lz 圆形窗口 即以你的所在像像素点为圆心 寻找indice在某一半径内的值
由于是数字图像 不可能做到完全的圆处理 近似搜索 希望可以对你有些帮助 pseudo: ... % initial process, imread, for i,j %denote p(i,j) as the current for beta %beta as the index searching angle loc = find(p(i+floor[k*cos(beta)+0.5],i+floor[k*sin(beta)+0.5])) mean(loc) % fitering: two ways available: p(i,j) anticipation or p(i,j) un-anticipation p(i,j) = mean (loc) % current pixel updated end for end for ... PS: No cosideration of boundary and probable value overflowing. Thx for reading. PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。 个人观点 仅供参考 多多交流 相互学习 |
回复: 求助——如何改变程序中中值滤波的窗口大小
LS理论模块化太强了点儿,呵呵,实际上这种模板操作,包括什么运动估计等所用搜索模板,滤波用模板以及识别匹配模板,都可以根据自己的实际情况编写个模板函数来实现,模板函数其实就是实现某些点与操作对象的乘累加操作,或类似操作。这些点是方的、圆的,都可以自己决定。
|
所有时间均为北京时间。现在的时间是 03:00。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.