如何使用opencv3.0准确识别并提取图像中的矩形?
- 内容介绍
- 文章标签
- 相关推荐
本文共计824个文字,预计阅读时间需要4分钟。
利用OpenCV识别图像中的矩形。主要问题是识别轮框时,矩形内部形状导致轮框不闭合。
1.对输入灰度图像进行高斯滤波去除噪声。
2.对灰度图像做直方图,提取阈值,进行二值化处理。
3.提取轮廓,判断轮廓是否为矩形,修正轮框形状。
利用opencv来识别图片中的矩形。
其中遇到的问题主要是识别轮廓时矩形内部的形状导致轮廓不闭合。
1. 对输入灰度图片进行高斯滤波
2. 做灰度直方图,提取阈值,做二值化处理
3. 提取图片轮廓
4. 识别图片中的矩形
5. 提取图片中的矩形
1.对输入灰度图片进行高斯滤波
cv::Mat src = cv::imread("F:\\t13.bmp",CV_BGR2GRAY); cv::Mat hsv; GaussianBlur(src,hsv,cv::Size(5,5),0,0);
2.做灰度直方图,提取阈值,做二值化处理
由于给定图片,背景是黑色,矩形背景色为灰色,矩形中有些其他形状为白色,可以参考为:
提取轮廓时,矩形外部轮廓并未闭合。因此,我们需要对整幅图做灰度直方图,找到阈值,进行二值化
处理。
本文共计824个文字,预计阅读时间需要4分钟。
利用OpenCV识别图像中的矩形。主要问题是识别轮框时,矩形内部形状导致轮框不闭合。
1.对输入灰度图像进行高斯滤波去除噪声。
2.对灰度图像做直方图,提取阈值,进行二值化处理。
3.提取轮廓,判断轮廓是否为矩形,修正轮框形状。
利用opencv来识别图片中的矩形。
其中遇到的问题主要是识别轮廓时矩形内部的形状导致轮廓不闭合。
1. 对输入灰度图片进行高斯滤波
2. 做灰度直方图,提取阈值,做二值化处理
3. 提取图片轮廓
4. 识别图片中的矩形
5. 提取图片中的矩形
1.对输入灰度图片进行高斯滤波
cv::Mat src = cv::imread("F:\\t13.bmp",CV_BGR2GRAY); cv::Mat hsv; GaussianBlur(src,hsv,cv::Size(5,5),0,0);
2.做灰度直方图,提取阈值,做二值化处理
由于给定图片,背景是黑色,矩形背景色为灰色,矩形中有些其他形状为白色,可以参考为:
提取轮廓时,矩形外部轮廓并未闭合。因此,我们需要对整幅图做灰度直方图,找到阈值,进行二值化
处理。

