有一个用matlab实现对图像进行‘sobel’锐化和边界提取,不知道哪里出错,总是不对

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有一个用matlab实现对图像进行‘sobel’锐化和边界提取,不知道哪里出错,总是不对相关的知识,希望对你有一定的参考价值。

a= imread('123.jpg ');
I=rgb2gray(a);
h=fspecial('sobel '); %生成 sobel 模板
%BW1=edge(I, 'sobel ',horizontal);
BW2=imfilter(I,h); imshow(I);
%figure,imshow(BW1);
figure,imshow(BW2);

总显示这样,求高手帮忙???
??? Error using ==> iptcheckstrs
Function FSPECIAL expected its first input argument, TYPE,
to match one of these strings:
gaussian, sobel, prewitt, laplacian, log, average, unsharp, disk, motion
The input, 'sobel ', did not match any of the valid strings.
Error in ==> fspecial>ParseInputs at 247
type = iptcheckstrs(type,'gaussian','sobel','prewitt','laplacian','log',...
Error in ==> fspecial at 97
[type, p2, p3] = ParseInputs(varargin:);
Error in ==> bytq at 3
h=fspecial('sobel '); %生成 sobel 模板

参考技术A 亲测结果如下:
你的sobel后面多了一个空格。
希望能帮到你。祝顺利。追问

真的好厉害呀!!!可不可以再帮我看看这个呢,我不知道那个histep怎么回事。。谢谢哦亲
I=imread(‘1.bmp’);
J=histep(I);
subplot(2,2,1); imshow(I); %原图像
subplot(2,2,2); imshow(I,64); %原图像直方图
subplot(2,2,3); imshow(J); %直方图均衡化所得的图像
subplot(2,2,4); imshow(J,64); %均衡化后的直方图

??? Undefined command/function 'histep'.
Error in ==> zft at 2
J=histep(I);

追答

错误如下:
你的直方图的histep应该为histeq,意为直方图均衡化(histogram equalization)

祝开心。

本回答被提问者采纳

FPGA教程案例43图像案例3——通过verilog实现图像sobel边缘提取,通过MATLAB进行辅助验证

FPGA教程目录

MATLAB教程目录

--------------------------------------------------------------------------------------------------------------------------------

目录

1.软件版本

2.图像sobel边缘处理原理

3.图像sobel边缘处理MATLAB仿真

以上是关于有一个用matlab实现对图像进行‘sobel’锐化和边界提取,不知道哪里出错,总是不对的主要内容,如果未能解决你的问题,请参考以下文章

基于MATLAB的Sobel边缘检测算法实现

高手帮下忙用matlab进行图像增强跟图像分割实验!

opencv用sobel算子进行处理后的图像,怎么提取梯度信息?

边缘检测基于matlab八方向sobel图像边缘检测含Matlab源码 1865期

Sobel边缘检测-matlab

Sobel边缘检测-matlab