基于OpenCV的条形码区域检测(二)
根据上一篇文章的思路,从网上找了一些条形码图片来测试,但是效果并不尽如人意。
测试图片:
测试代码段:
//读取图片
Mat src = imread("你的图片路径", CV_LOAD_IMAGE_COLOR);
if (!src.data) {
cout << "Read image error" << endl;
return -1;
}
show("源图像", src);
Mat src_cpy;
//将彩色图片转换为灰度
cvtColor(src, src_cpy, CV_RGB2GRAY);
Mat gx, gy;
Sobel(src_cpy, gx, CV_32F, 1, 0, -1);
Sobel(src_cpy, gy, CV_32F, 0, 1, -1);
Mat angleMat, gradient;
cartToPolar(gx, gy, gradient, angleMat);
convertScaleAbs(gradient, gradien