MATLAB中用imfilter()对图像进行相关或卷积运算前一定要用tofloat()将数据类型为float

为什么?
看一个实例的运行结果就知道了~

f = imread('F:\material\images\P0020-Line-detection-01.tif');
w = [2 -1 -1;-1 2 -1;-1 -1 2];
g_tofloat = imfilter(tofloat(f),w); %也可用函数im2double()替代tofloat()
g_notofloat = imfilter(f,w);

上面程序的运行结果如下:


从上面两幅图中看出,如果不转换成float类型,则很有可能在运算中出现严重的数据截断问题,从而导致得不到正确的结果。

值得注意的是:目前的MATLAB中,比如 R2019a是没有函数tofloat()的,这里我给大家提供一个。
下载链接:https://pan.baidu.com/s/1R7UjDEQ9VAxaZYbbGIl2Og 提取码:hyh4

当然也可以用函数im2double()替代tofloat(),差别是im2double()是将数据类型转换为双精度浮点型,而tofloat()是将数据类型转换为单精度浮点型,双精度浮点型比单精度浮点型要更占内存空间些。

MATLAB中用imfilter()对图像进行相关或卷积运算前一定要用tofloat()或im2double()将数据类型转换为浮点型相关推荐

  1. 【OpenCV 例程200篇】52. 图像的相关与卷积运算

    [OpenCV 例程200篇]52. 图像的相关与卷积运算 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 滤波通常是 ...

  2. matlab中用imnoise向图像中加入特定高斯半径的噪声

    最近需要做图像仿真,感觉用C++编写速度有点慢,也是为了省事,就用了matlab做前期的处理,后期到发布版本时,再用C++. 由于是初接触到图像仿真,有些问题没有很好的深入.这里就针对对某个图像中,加 ...

  3. 序列的卷积运算与相关运算——MATLAB

    一.实验目的 1.掌握有限长序列线性卷积的编程计算原理,并能够利用Matlab或C语言编写算法程序进行线性卷积运算的程序实现; 2.学会线性卷积函数和线性相关函数的使用方法,并能利用二者进行有限长序列 ...

  4. matlab imfilter函数图像(二维) opencv C++实现

    g = imfilter(f, w, filtering_mode, boundary_options, size_options) 默认是相关操作,填充为0,大小形同'same' 即如下效果相同 m ...

  5. matlab怎么输出图像文件夹,Matlab读取图片 显示和保存图像的相关操作

    当前有部份朋友还不清楚Matlab读取图片 显示和保存图像的操作,所以下面绿软吧就带来Matlab读取图片 显示和保存图像的相关操作,一起来看看吧! Matlab读取图片 显示和保存图像的相关操作 打 ...

  6. matlab中imfilter是什么意思,matlab中imfilter的用法

    来源:https://blog.csdn.net/qq_15971883/article/details/78334380 转载自:http://blog.csdn.net/u013066730/ar ...

  7. matlab imfilter函数,Matlab的imfilter函数用法详解

    Matlab的imfilter函数用法 功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,...) ...

  8. MATLAB中用BP神经网络预测人体脂肪百分比数据

    原文链接:http://tecdat.cn/?p=22739 这个例子说明了一个函数拟合的神经网络如何根据测量结果来估计脂肪百分比(BFP) (点击文末"阅读原文"获取完整代码数据 ...

  9. matlab imfilter函数,Matlab中imfilter()函数的用法

    Matlab中imfilter()函数的用法 功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,.. ...

最新文章

  1. 史上最全数据结构算法之递归系列学习,建议收藏!
  2. matplotlib绘制带比例(percentile)的堆叠(stacked)条形图(bar plot)
  3. flink source code
  4. oracle union 最多_用户来稿:我就是那个在优买计划赚钱最多的男人
  5. golang中的http conn实现分析
  6. Elasticsearch和HDFS 容错机制 备忘
  7. I - 滑雪 POJ - 1088(深搜,记忆化搜索)
  8. Teams App抽奖机器人 - 基础架构
  9. 操作集锦【牛客网】 牛客练习赛60
  10. 前端学习(1809):前端调试之微博头部开发
  11. Kubernetes基础组件概述
  12. vue+layui获取CheckBox的值
  13. node-webki 基本程序结构
  14. MySQL基础总结,认真看完这篇就够了!!!
  15. 你有你的百度云限速,我有我的暴力猴
  16. 富士施乐Fuji Xerox ApeosPort-IV 2060 驱动
  17. 石墨烯——结构、制备方法与性能表征(1)
  18. DSO windowed optimization 代码 (4)
  19. Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案
  20. Office Tool Plus软件运行错误,缺少.net

热门文章

  1. 支持向量机(SVM)----超详细原理分析讲解
  2. 注会之会计 无形资产
  3. Angular 项目的搭建步骤
  4. iOS15出现的问题及其适配
  5. unity2d游戏开发系列教程:二、新建工程并熟悉Unity编辑器常用功能
  6. OpenGL教程8(Bang翻译Delphi版)-如何制作立体透明效果 .
  7. PS CC2019中英文切换方法
  8. @WebFilter两种使用方法和失效解决方案
  9. UE4之制作局域网游戏
  10. 艾默生Micromotion质量流量计的应用总结