问题补充说明:检测图片中的文字并定为先将彩色图像转换成灰度图像,再对灰度图像进行边缘检测,采用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