1. 主要步骤
- 读取图片
- 图片转化为灰度图
- 图片设定阈值
- 开运算(先腐蚀,后膨胀)
- 指定答题区域
- 找到涂选框
- 根据涂选框的坐标确定所涂选的选项及题号
-
2. 具体实现
class RectComp<span style="white-space:pre"> </span>//Rect排序
{
Rect rm;
RectComp(Rect rms)
{
rm = rms;
}
bool operator < (const RectComp& ti) const
{
return rm.x < ti.rm.x;
}
};
int main()
{
//装载图片
Mat srcImage1= imread("13.jpg");
Mat srcImage2,srcImage3,srcImage4,srcImage5;
//图片变成灰度图片
cvtColor(srcImage1,srcImage2,CV_BGR2GRAY);
//图片二值化
threshold(srcImage2,srcImage3,200,255,THRESH_BINARY_INV);
//确定腐蚀和膨胀核的大小
Mat element = getStructuringElement(MORPH_RECT, Siz