首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

matlab怎么读入tif文件,卷积并输出

2012-04-08 
matlab如何读入tif文件,卷积并输出?文件为tiff格式,要求读入源文件,卷积后,输出处理后的tiff文件。以下是我

matlab如何读入tif文件,卷积并输出?
文件为tiff格式,要求读入源文件,卷积后,输出处理后的tiff文件。
以下是我的代码,假设源文件为d:\do.tif,输出文件为d:\do2.tif,h为卷积核。

A = imread('d:\do.tif')
h=1/49*[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0;0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0;0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0;0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0;0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0;0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0;0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
j=filter2(h,A)
imshow(j)
imwrite(j,'d:\do2.tif','tif')

得到的图是一片空白,不知哪里错了?
因为源文件为彩色图,我不知道是否在处理前需要转换彩色图为灰度?如果需要,怎么转成灰度并在处理后转回彩色呢?

另外,大家有可以分解为x和y两个方面上的17*17高斯卷积核吗?迫切需要。


[解决办法]
卷积是conv2,另外看一下矩阵A的结构,是不是可以直接卷积

热点排行