如何在matlab中计算过滤的弯曲度?
我有两个变量:如何在matlab中计算过滤的弯曲度?,matlab,Matlab,我有两个变量: 包含原始图像的图像 FilteredImage,它是已过滤的图像 两者都是RGB图像。我知道如何计算二维图像的弯曲度 Image = unread('C:\Users\klass\Pictures\man.jpeg'); NoiseImage = minimise(Image,'gaussian'); ImageFiltered = NoiseImage; for c = 1 : 3 ImageFiltered (:, :, c) = medfilt2(NoiseIm
- 包含原始图像的图像
- FilteredImage,它是已过滤的图像
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;
当我尝试使用此公式计算数字时,我得到以下错误:
使用norm时出错输入必须是二维的
我尝试将三维图像传递给
norm()
函数。解决方法是通过rgb2gray()
函数将每个图像转换为二维。
因此,我使用以下公式:
Bending = norm(im2double(rgb2gray(Image) - rgb2gray(FilteredImage)) / norm(im2double(rgb2gray(Image))) * 100
什么是
过滤(图像)
?这应该是FilteredImage
?是的,您是对的。您的语句还缺少两个右括号。请发一个帖子,这会让你更容易理解到底发生了什么。在MATLAB中,norm
使用2D输入计算矩阵范数,您不太可能希望将其应用于图像。你想计算的范数是多少?每个RGB值?