#include "opencv2/highgui/highgui.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
// Mser车牌目标检测
std::vector<cv::Rect> mserGetPlate(cv::Mat srcImage)
{
// HSV空间转换
cv::Mat gray, gray_neg;
cv::Mat hsi;
cv::cvtColor(srcImage, hsi, CV_BGR2HSV);
// 通道分离
std::vector<cv::Mat> channels;
cv::split(hsi, channels);
// 提取h通道
gray = channels[1];
// 灰度转换
cv::cvtColor(srcImage, gray, CV_BGR2GRAY);
// 取反值灰度
gray_neg = 255 - gray;
std::vector<std::vector<cv::Point> > regContours;
std::vector<std::vector<cv::Point> > charContours;
// MSER+操作
cv::MSER(2, 10, 5000, 0.5, 0.3)(gray, regContours);
// MSER-操作
cv::MSER(2, 2, 400, 0.1, 0.3)(gray_neg, charContours);
cv::Mat mserMapMat =
cv::Mat::zeros(srcImage.size(), CV_8UC1);
cv::Mat mserNegMapMat =
cv::Mat::zeros(srcImage.size(), CV_8UC1);
// MSER+ 检测
opencv-车牌区域提取
最新推荐文章于 2024-02-28 21:52:03 发布