OpenCV 中的海报检测?
Poster detection in OpenCV?
我在图像处理方面真的很新,所以请原谅我是新手。我尝试使用 squares.cpp 来检测海报(因为它们通常是矩形)而不使用昂贵的特征检测器(如 SIFT)。不幸的是,结果非常令人失望(因为这是可以预见的,结果如下)。
实际上我不关心只检测到海报,因为统计上海报是图像中最大(或第二大)的矩形(体面的启发式)。
最后一张图片是此代码使用 this Hough Transofrm 代码(看起来效果更差!)的结果。
知道如何改进此代码吗?
[
您是否熟悉霍夫变换?如果没有,我强烈建议您仔细阅读它们 here 我将采用的方法如下:
对图像应用 canny 边缘检测(如果 rgb 边缘检测结果不佳,请考虑在边缘检测之前更改为 HSV 颜色 space),并对 canny 的结果执行矩形霍夫变换。这将从您的图像中提取所有 "rectangular" 形状。从那里,您可以在提取的矩形(也许是文本?)中寻找特征,以进一步验证您提取的矩形确实是海报。
这个方法的一个缺点是,如果海报的角度太大,可能会不起作用,但只要在海报的相对前方拍摄,就可以了.
我在图像处理方面真的很新,所以请原谅我是新手。我尝试使用 squares.cpp 来检测海报(因为它们通常是矩形)而不使用昂贵的特征检测器(如 SIFT)。不幸的是,结果非常令人失望(因为这是可以预见的,结果如下)。
实际上我不关心只检测到海报,因为统计上海报是图像中最大(或第二大)的矩形(体面的启发式)。
最后一张图片是此代码使用 this Hough Transofrm 代码(看起来效果更差!)的结果。
知道如何改进此代码吗?
[
您是否熟悉霍夫变换?如果没有,我强烈建议您仔细阅读它们 here 我将采用的方法如下:
对图像应用 canny 边缘检测(如果 rgb 边缘检测结果不佳,请考虑在边缘检测之前更改为 HSV 颜色 space),并对 canny 的结果执行矩形霍夫变换。这将从您的图像中提取所有 "rectangular" 形状。从那里,您可以在提取的矩形(也许是文本?)中寻找特征,以进一步验证您提取的矩形确实是海报。
这个方法的一个缺点是,如果海报的角度太大,可能会不起作用,但只要在海报的相对前方拍摄,就可以了.