我是新來的使用OpenCV,我正在測試它試圖從汽車上抓牌。我被困在如何去做這件事。例如,我將開始與像這樣的圖片:用OpenCV轉換圖像
,我想我的最終結果是這樣的:
我知道如何使用adaptivethreshold和東西我在困惑步驟需要從1到2.感謝您的幫助!
我是新來的使用OpenCV,我正在測試它試圖從汽車上抓牌。我被困在如何去做這件事。例如,我將開始與像這樣的圖片:用OpenCV轉換圖像
,我想我的最終結果是這樣的:
我知道如何使用adaptivethreshold和東西我在困惑步驟需要從1到2.感謝您的幫助!
太多硬編碼閾值,但這項工作?
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
int main(int argc, char** argv)
{
Mat src = imread("C:/test/single/license.jpg");
cvtColor(src,src,CV_BGR2GRAY);
blur(src, src, Size(3,3));
Canny(src, src, 130, 130*4, 3);
imshow("edge", src);
GaussianBlur(src,src,Size(3,3),60);
threshold(src,src,0,255,CV_THRESH_OTSU);
vector<vector<Point> > contours;
vector<Vec4i> hierarchy;
findContours(src, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE);
Mat todraw=Mat::zeros(src.size(), CV_8UC1);
for(size_t i = 0; i < contours.size(); i++)
{
double area = fabs(contourArea(Mat(contours[i])));
if(area<600)
drawContours(todraw,contours,i,Scalar(255),-1);
}
imshow("plate", todraw);
waitKey(0);
return 0;
}
豎起大拇指讓你的手髒了。 – berak
這正是你想要的 - https://github.com/MasteringOpenCV/code/tree/master/Chapter5_NumberPlateRecognition來自OpenCV的掌握圖書
它。它分割車牌號碼以及基本的OCR識別字符。
你是如何得到這個結果的? –