您的位置首页生活小窍门

Sobel算子是什么?

问题补充说明:检测图片中的文字并定为先将彩色图像转换成灰度图像,再对灰度图像进行边缘检测,采用Sobel算子进行字幕边缘的提取,采用这样的算子将保证其对垂直和水平边缘都具有较大的影响。Sobel算子可把视频帧图像转换成边缘强度图。

Sobel算子是什么?

C++Bu零别蛋史复烧里ilder下的sobel算子的程序如下:

///<summ绝备古又统ary>

///按Sobel算子进行边缘检测

///</summary>

///<paramname="b">位图流</param>

///<returns></returns>

publicBitmapSobel(Bitmapb)

{

Matrix3x3m=newMatrix3x3();

//-1-2-1

//000

//121

m.Init(0);

m.TopLeft=m.TopRight=-1;

m.BottomLeft=m.BottomRight=1;

m.TopMid=-2;

m.BottomMid=2;

Bitmapb1=m.Convol升济ute((Bitmap)b.Clone());

//-101

//-202

//-101

m.Init(0);

m.TopLeft=m.BottomLeft=-1;

m.TopRight=m.BottomRight=1;

m.MidLeft=-2;

m.MidRight=2;

Bitmapb2=m.Convolute((Bitmap)b.Cl念怀预在亮升意从反了体one());

//01罪降扬料压视争运职手2

//-101

//-2-运液团很味静律突10

m.Init(0);

m.TopMid=m.MidRight=1;

m.MidLeft=m.BottomMid=-1;

m.TopRight=2;

m.BottomLeft=-2;

Bitmapb3=m外利著探.Convolute((Bitmap)b.Clone());

//-2-10

//-101

//012

m.In附识棉皮里问新命委坐劳it(0);

m.TopMid厚货减留胞古者周条她牛=m.MidLeft=-1;

m.MidRight=m.BottomMid=1;

m.TopLeft=-2;

m.BottomRight=2;

Bitmapb4=m.Convolute((Bitmap)b关毫爱场专.Clone());

简话//梯度运算

b=Gradient(Gradient(b1,b2),Gradient(b3,b4));

b1.D沉探你兵还尔李她换ispose();b2.D灯ispose();b3.Dispose();b4.Dispose();

returnb;

}//endofSo民及bel