程序如下:
clearall;
clc;
I=imread('up4-Amppng');
OutImg=I;
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
R=medfilt2(R,[3,3]);
G=medfilt2(G,[3,3]);
B=medfilt2(B,[3,3]);
I1=cat(3,R,G,B); %对彩色图像R,G,B三个通道分别进行3×3模板的中值滤波cat函数用于连接两个矩阵或数组
R=filter2(fspecial('average',3),R)/255;
G=filter2(fspecial('average',3),G)/255;
B=filter2(fspecial('average',3),B)/255;
I2=cat(3,R,G,B); %对彩色图像R,G,B三个通道分别进行3×3模板的均值滤波
figure,imshow(I);
title('原图')
figure,
imshow(I1);
title('中值滤波')
figure,imshow(I2);
title('均值滤波')
扩展资料:
注意事项
1、在频域滤波,由于是点乘,所以滤波模板矩阵和图像矩阵必须尺寸一样。
2、因为尺寸一样,它们的原点必须要对齐。
3、因在进行离散傅里叶变换后,在频域点乘,相当于在时域卷积,但是这个时候实际上是对时域周期矩阵进行卷积。直接在时域卷积,matlab默认是在边界补0。
4、Matlabfreqz2()这个函数可以自动得到一个指定尺寸的,对应于时域的频域模板。
5、图像经过傅里叶变换后,它的原点在左上角。而模板经过freqz2后,原点在中心,所以只要平移其中的一个就好了。
6、在对原图像进行傅里叶变换之前,按照一定规则补0就好了。
I=imread('ricepng'); %读取米的到I
backgroud=imopen(I,strel('disk',16)); %把开元素的构造元素(Structuring element)指定形状圆盘,大小16。到background
imshow(backgroud); %显示background
figure,surf(double(backgroud(1:8:end,1:8:end))),zlim([0 256]); %控制图窗窗口,创建曲面对象,类型是double,用indexing syntax只查看每个方向上8个像素中的一个,设置z轴的范围0到256
set(gca,'Ydir','reverse'); %gca当前的坐标区或轴,设置沿y轴反转值
官方文档中心都可以搜到网页链接
1、首先打开MATLAB软件。
2、会出现如下窗口,这是MATLAB主要一般常用的编辑窗口。
3、输入 i=imread('引用的地址');,如 i=imread('d:\Uool\agif');。注意要有单引号,地址要确实可用,句子为了方便继续编辑可以加;
4、继续输入imshow(名称);,如imshow(i);。名称一般是前面复制好的,上一步就是把图像赋值给一个变量。
5、回车后会d出窗口显示,这样就完成了。
sizewidth>0 && sizeheight>0 in function imshow 这个一般来说是读取失败造成的,读取失败后,生成的Mat矩阵大小为0
cv::是命名空间,如果程序头部添上using namespace cv;那么imread和cv::imread就一样了。
函数imread用于读取文件中的数据。在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。
调用格式
A = imread(filename,fmt)
[X,map] = imread(filename,fmt)
[] = imread(filename)
[] = imread(URL,)
[] = imread(,idx) (CUR, GIF, ICO, and TIFF only)
[] = imread(,'PixelRegion',{ROWS, COLS}) (TIFF only)
[] = imread(,'frames',idx) (GIF only)
[] = imread(,ref) (HDF only)
[] = imread(,'BackgroundColor',BG) (PNG only)
[A,map,alpha] = imread() (ICO, CUR, and PNG only
scilab图像和视频处理工具箱SIVP
About SIVP
------------
SIVP stands for Scilab Image and Video Processing toolbox SIVP intends to do image processing and video processing tasks SIVP is meant to be a useful, efficient, and free image and video processing toolbox for Scilab
SIVP homepage: >
这段程序主要进行图像处理。
首先转化为灰度图像,画出灰度值分布的直方图。
之后利用sobel算子提取边缘。
之后进行图像腐蚀运算,腐蚀过程中用到的是1;1;1结构,这个结构会腐蚀掉竖着的一些内容不会腐蚀横着的内容。
例如,一个33的矩阵
1,1,1
1,1,1
1,1,1
经过这个算子复试后就会变成
0,0,0
1,1,1
0,0,0
这就保护了被处理图像水平方向的信息。
之后利用矩形5050 进行连接。
最后一个函数bwareaopen是将那些不闭合的区域删掉。
比如字母i,t之类不闭合就会被删掉
o,a闭合就会被保留。
最后就会生成比较完整的边界信息。
以上就是关于用matlab频域低通滤波,频域高通滤波处理彩色图像的程序全部的内容,包括:用matlab频域低通滤波,频域高通滤波处理彩色图像的程序、matlab问题:能解释下面一段程序中的第2句中的imopen(I,strel('disk',16)); 以及程序中的最后两句吗、怎么将图片导入matlab中让图片出现在程序中如果要存入matlab路径,该存入哪个路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)