- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Matlab 中,我想显示灰度图像的梯度幅度和方向。这是我正在尝试的代码:
image = imread('gray_image.bmp');
[gmag, gdir] = imgradient(image);
figure, imshow(image);
figure, imshow(gmag);
figure, imshow(gdir);
但是,gmag 和 gdir 似乎只量化为两个值:黑色和白色。 gmag 和 gdir 中的每个像素要么是黑色,要么是白色。我的图像本身具有一系列梯度幅度和方向。为什么这些没有出现在 gmag 和 gdir 图像中?是的,我希望 gmag 对于零梯度的像素具有纯黑色,对于具有最大梯度的像素具有纯白色,但我也希望它们之间的梯度具有一系列灰度值。同样,我希望 gdir 中的一系列灰度值代表角度范围。
例如,这是灰度图像:
这是 gmag:
这是 gdir:
为什么gmag和gdir只显示黑色或白色,没有中间灰度值?
最佳答案
两个问题
代码
image = imread('gray_image.bmp');
[gmag, gdir] = imgradient(image);
%%// Normalize gmag and gdir
gmag = (gmag-min(gmag(:)))./(max(gmag(:))-min(gmag(:)));
gdir = (gdir-min(gdir(:)))./(max(gdir(:))-min(gdir(:)));
%%// Display images
figure, imshow(image);
figure, imshow(gmag);
figure, imshow(gdir);
%%// Save gradient images
imwrite(uint8(255.*gmag),'Lena_gmag.bmp');
imwrite(uint8(255.*gdir),'Lena_gdir.bmp');
输出图片
GMAG-
GDIR-
作为测试,现在可以在 GDIR 图像中注意到 Lena 后面的条状结构,这在以前是不可见的。
关于Matlab:imgradient 返回量化图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22313473/
在 Matlab 中,我想显示灰度图像的梯度幅度和方向。这是我正在尝试的代码: image = imread('gray_image.bmp'); [gmag, gdir] = imgradient(
我正在寻找图像的渐变。现在我只是使用 5 x 5 图像。我更感兴趣的是找到梯度的方向,但我没有在纸上手动得到结果,因为我使用 MATLAB 函数 imgradient 得到它们.请参阅以下图像以了解有
我正在搜索 Python 中的 imgradient MATLAB 等价物。我知道 cv2.Sobel() 和 cv2.Laplacian() 但它不起作用,因为 imgradient 在 MATLA
我在用 Python 转换 Matlab 等价物时遇到问题。 我对以下代码行有疑问: instance_contour = uint8(imgradient(instance_map) > 0);
我是一名优秀的程序员,十分优秀!