急求一个【视频文本检测】的c++程序,主要功能是定位字幕区域,最好有一些代码说明 160

如题,程序的主要功能是:实现从视频帧中定位并截取字幕区域(只需要字幕部分就够了,场景中的文字不用识别。)本人现在只是大致明白从图片中定位字幕区域的理论方法,但程序方面就无... 如题,程序的主要功能是:实现从视频帧中定位并截取字幕区域(只需要字幕部分就够了,场景中的文字不用识别。)

本人现在只是大致明白从图片中定位字幕区域的理论方法,但程序方面就无从下手了。
程序最好不要太多文件过于复杂的,能力有限怕我最后理解不了讲不清楚。当然如果有比较详细的代码说明文件是最好不过的了。

现在还有一个疑问就是,如果只是实现【图片】文本检测的话我能大致理解方法,但是【视频】文本检测的话,是不是就要用到额外的类似镜头分割的东西了?
程序的话如果实现不了【视频】文本检测的话,就先实现【图片】文本检测也可以接受。

谢过各路大神!~
展开
 我来答
xrayron
2013-06-11 · TA获得超过1052个赞
知道大有可为答主
回答量:781
采纳率:0%
帮助的人:1012万
展开全部
图像二值化,根据字幕颜色划分阈值。其实openCV里面已经包含了视频处理的方法,理论上也是逐帧处理。每帧进行二值化后得到字幕的区域。通常如果采用颜色空间进行图像识别的话最好把原图转换为HSV颜色空间,根据H和S的更容易扣出想要的颜色区域,更何况是字幕这种一定会是某类单一颜色的情况。

openCV的视频读取方法大概如下:

IplImage* pImg = NULL;
CvMat* pFrame = NULL;
CvCapture* pCapture = NULL;

if( !(pCapture = cvCaptureFromFile(argv[1])))
{
cerr << "Can not open video file " << argv[1] << endl;;
return -2;
}

while(pFrame = cvQueryFrame(pCapture))
{
nFrmNum++;

if(nFrmNum == 1)
{
pImg = cvCreateImage(cvSize(pFrame->width, pFrame->height),
IPL_DEPTH_8U,1);
pFrame = cvCreateMat(pImg->height, pImg->width, CV_32FC1);

cvCvtColor(pFrame, pImg, ...);
}
else
{
//todo ...
}
}

如果要做文字识别就要用模式识别的方法了,不过这个需要大量训练样本才能做。
匿名用户
2013-05-20
展开全部
1.将视频流转换为有序的帧
2.将帧图像进行降噪等处理
3.根据特征定位所需区域
4.进行图像识别,将截取区域转换为文字
工具:VS2005+OpenCV
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaohualang
2013-05-15 · TA获得超过130个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:269万
展开全部
楼主能否说明一下你知道的 从图片中定位字幕区域的理论方法呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式