matlab - 如何在matlab中计算过滤的弯曲?
问题描述
我有 2 个变量:
- 包含原始图像的图像。
- FilteredImage 即过滤后的图像。
两者都是RGB图像。我知道如何计算二维图像的弯曲
Image = unread('C:\Users\klass\Pictures\man.jpeg');
NoiseImage = minimise(Image,'gaussian');
ImageFiltered = NoiseImage;
for c = 1 : 3
ImageFiltered (:, :, c) = medfilt2(NoiseImage(:, :, c) [3, 3]
end
Bending = norm(im2double(Image - FilteredImage))/norm(im2double(FilteredImage)) * 100;
当我尝试将此公式用于我的数字时,我收到此错误:
使用标准
输入的错误必须是二维的。
解决方案
我尝试通过 3-D 图像来norm()
运行。解决方法是按功能将每个图像转换为二维rgb2gray()
。因此我用公式疏散条带:
Bending = norm(im2double(rgb2gray(Image) - rgb2gray(FilteredImage)) / norm(im2double(rgb2gray(Image))) * 100
推荐阅读
- flutter - 如何确保使用键盘时按钮可见?
- jquery - 如何使用 jQuery 使文本框出现
- javascript - “不是函数”jQuery
- vue.js - 如何使用 vue-cli-service build 命令复制资产?
- javascript - 如何组合 2 个 javascript/jquery 函数
- python - 如何更改以 loc 为条件的 pandas 数据框中的最后一个值?
- python - 通过多个两列创建新的numpy nd-array
- asp.net-core - Azure Pipelines:迁移到 .NET Core 3.1 后,Dotnet 发布失败,退出代码为 1
- docker - 升级到 ChromeDriver v80 和 Chrome v80 后,Chrome 无法在使用 Selenium 的 docker 容器中启动
- image - 如何有效地将图像作为 pubspec.yaml 中的资产处理?