A. 最小一乘法 (Least Absolutely Deviation)中y=a+bx中a、b的值一般是怎么确定的,希望能用公式表示出来
没有解析方法解,人们都是用数值方法解的。
下面是英文网络上摘来的关于LAD的词条。
里面写明了:LDA虽然看上去和二乘法差不多,但是却没有解析最优解(二乘法有解析最优解),但是人们开发了很多种数值递归解法,最常用的是单纯形(SimplexBased)方法,可化为线性规划的问题(例如BarrodaleandRoberts算法)。
B. 怎样理解微分算子可以检测图像的边界
常见的边缘检测算子有Roberts算子、Prewitt算子、Sobel算子、Marr-Hidreth边缘检测以及canny算子等。
一、利用梯度进行哪汪早边缘检测
1、Roberts算子采用对角线方向相邻两像素之差近似的梯度幅值来检测边缘。该算子定位较准确,但对噪声比较敏感,检测水平和竖直边缘效果好于斜向李雀边缘。
2、Sobel算子根据图陵孝像的像素点上下、左右邻点灰度加权差在边缘处达到极值这一特点来检测边缘。该算子对噪声有较好的平滑作用,能提供建准确的边缘方向信息,但是边缘定位精度不高。
3、Prewitt算子边缘检测的思路与Sobel算子类似,也是在一个掩模中定义微分运算。算子对噪声具有平滑作用,同样定位精度不够高。
二、更为先进的边缘检测技术
1、Marr-Hildreth算法(拉普拉斯算子)
(1)采用高斯低通滤波器对图像进行滤波;
(2)采用拉普拉斯模板对进行卷积;
(3)找到步骤(2)所得图像的零交叉。
该算子是二阶微分算子,利用边缘点处二阶导函数出现零交叉原理来检测图像的边缘。对灰度突变及噪声较敏感,不具有方向性,不能获得图像边缘的方向信息。
2、Canny算子
Canny边缘检测算法步骤:
(1)用一个高斯滤波器平滑输入图像
(2)计算梯度幅值图像和角度图像
(3)对梯度幅值图像进行非最大抑制
(4)用双阈值处理和连接分析来检测并连接边缘
Canny算子是上述中效果最好的算子,该算子去噪能力强,在连续性、细度和笔直度等线的质量方面也很出众。但是Canny算子的性能带来的问题是:连接起来更复杂、执行时间较长。
综上所述,在实际工业生产中,要求实时性较高的情况下,通常采用阈值梯度的方法;当对质量要求较高时,可选择更为先进的方法,尤其是Canny算子。
C. 急!Sobel算子边缘检测算法程序代码谁有啊,能不能发到我的邮箱[email protected]
close all
clear all
I=imread('tig.jpg'); %读取图像
I1=im2double(I); %将彩图序列变成双精度
I2=rgb2gray(I1); %将彩色图变成灰色图
[thr, sorh, keepapp]=ddencmp('den','wv',I2);
I3=wdencmp('gbl',I2,'sym4',2,thr,sorh,keepapp); %小波除噪
I4=medfilt2(I3,[9 9]); %中值滤波
I5=imresize(I4,0.2,'bicubic'); %图像大小
BW1=edge(I5,'sobel'); %sobel图像边缘提取
BW2=edge(I5,'roberts'); %roberts图像边缘提取
BW3=edge(I5,'prewitt'); %prewitt图像边缘提取
BW4=edge(I5,'log'); %log图像边缘提取
BW5=edge(I5,'canny'); %canny图像边缘提取
h=fspecial('gaussian',5); %高斯滤波
BW6=edge(I5,'zerocross',[ ],h); %zerocross图像边缘提取
figure;
subplot(1,3,1); %图划分为一行三幅图,第一幅图
imshow(I2); %绘图
figure;
subplot(1,3,1);
imshow(BW1);
title('Sobel算子');
subplot(1,3,2);
imshow(BW2);
title('Roberts算子');
subplot(1,3,3);
imshow(BW3);
title('Prewitt算子');