当前位置: 代码迷 >> 其他开发语言 >> matlab怎么读入tif文件,卷积并输出
  详细解决方案

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

热度:3619   发布时间:2013-02-26 00:00:00.0
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的结构,是不是可以直接卷积
  相关解决方案