filter2

时间:2024-06-09 11:02:09编辑:小星

请教关于matlab中imfilter函数的使用

功能:对任意类型数组或多维图像进行滤波。

用法:B = imfilter(A,H)
   B = imfilter(A,H,option1,option2,...)
   或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)
其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。具体参数选项见下表:

选项
描述
filtering_mode
‘corr’
通过使用相关来完成,该值为默认。

‘conv’
通过使用卷积来完成
boundary_options
‘X’
输入图像的边界通过用值X(无引号)来填充扩展
其默认值为0

‘replicate’
图像大小通过复制外边界的值来扩展

‘symmetric’
图像大小通过镜像反射其边界来扩展

‘circular’
图像大小通过将图像看成是一个二维周期函数的一个周期来扩展
size_options
‘full’
输出图像的大小与被扩展图像的大小相同

‘same’
输出图像的大小与输入图像的大小相同。这可通过将滤波掩模的中心点的偏移限制到原图像中包含的点来实现,该值为默认值。

举例:originalRGB = imread('peppers.png');
imshow(originalRGB)
h = fspecial('motion', 50, 45);%创建一个滤波器
filteredRGB = imfilter(originalRGB, h);
figure, imshow(filteredRGB)


matlab 中imfilter与和conv2具体在运算上是什么区别?imfilter的相关运算是什么意思?

imfilter实现的是线性空间滤波;
conv2是计算两个矩阵的二维卷积
1、MATLAB中提供了卷积运算的函数命令conv2,其语法格式为:
C = conv2(A,B)
C = conv2(A,B)返回矩阵A和B的二维卷积C。若A为ma×na的矩阵,B为mb×nb的矩阵,则C的大小为(ma+mb+1)×(na+nb+1)。
2、MATLAB图像处理工具箱提供了基于卷积的图象滤波函数filter2,filter2的语法格式为:
Y = filter2(h,X)
其中Y = filter2(h,X)返回图像X经算子h滤波后的结果,默认返回图像Y与输入图像X大小相同。例如:
其实filter2和conv2是等价的。MATLAB在计算filter2时先将卷积核旋转180度,再调用conv2函数进行计算。
Fspecial函数用于创建预定义的滤波算子,其语法格式为:
h = fspecial(type)
h = fspecial(type,parameters)
参数type制定算子类型,parameters指定相应的参数,具体格式为:
type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。
type= 'gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为0.5


Angularjs过滤器使用详解

给大家介绍下什么是
AngularJS?
AngularJS是一个为动态WEB应用设计的结构框架。它能让你使用HTML作为模板语言,通过扩展HTML的语法,让你能更清楚、简洁地构建你的应用组件。它的创新点在于,利用󰀃数据绑定󰀃和󰀃依赖注入,它使你不用再写大量的代码了。这些全都是通过浏览器端的Javascript实现,这也使得它能够完美地和任何服务器端技术结合。
AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。
AngularJS提供了过滤器来对输入输出数据格式化。下面开始给大家介绍Angularjs过滤器使用,一起看看吧
•在html文件中和在js文件中使用
$scope.form_time
=
$filter('date')($scope.time,
'yyyy-MM-dd
HH:mm:ss');
{{time
|
date:
'yyyy-MM-dd
HH:mm:ss'}}

•内部过滤器和自定义过滤器
.filter('my_data_format',[function(){
return
function(data,str,sss){
console.log('data:
',data,'
str:
',str,'
sss:
',arguments[2]);
}
}]);
//var1就是第一个参数data,
123是第二个参数str,
this是第三个参数

{{var1
|
my_data_format
:
123
:
'this'}}
//对传入的数据进行处理
.filter('my_data_format',[function(){
return
function(data,str){
var
arr=[];
angular.forEach(data,
function(one_list){
if(one_list.status
==
str){
arr.push(one_list);
}
});
return
arr;
}
}]);
//过滤器可以用在绑定的值中,也可以用在ng-if="(lists
|
my_data_format:
'2').length>0",
和ng-show等;类似的表达式中。作为判断语句
<p
ng-repeat
=
"list
in
lists">姓名:{{list.name}},人数{{(lists
|
my_data_format:
'2').length}}


上一篇:坑爹时代

下一篇:乐乐江湖行