何1.hyperlpr識別プロセス?
1)PlateDetection :: plateDetectionRough:cascade.detectMultiScale、粗位置検出板の外側に展開番号(および一部0.3ワット、2H)、すなわちせん断プレート画像
140x60 2)リサイズ、満足、略ナンバープレート文字輪郭に沿った領域に対する複数のしきい値画像を得るために、ナンバープレート画像と、異なる閾値CV :: adaptiveThresholdを使用して、グレーに変換します。if((lwRatioを> 0.7 && bdbox.width * bdbox.height> 100 && bdboxAera <300)||(lwRatio> 3.0 && bdboxAera <100 && bdboxAera> 10))、左上と右下の角レコード
3)(VX、VY)は直線方向であることを特徴とする請求CV :: fitLine、(VX、VY、X0、Y0)を与えるために直線をフィッティングを用いて得られた多くの左上の点については、ベクトルモード1、(X0、Y0であります)線上の点の
int lefty = static_cast<int>((-x * vy / vx) + y);//求图片上左边的y
int righty = static_cast<int>(((136- x) * vy / vx) + y);//求与图片右边相交的y
res.first = lefty+PADDING_UP_DOWN+zeroadd;
res.second = righty+PADDING_UP_DOWN+zeroadd;
4)角度補正:傾いたテキストを得fitLineによる誤差があってもよいので、fastdeskewにより、使用、修正しました。
以下X2、Y2、楕円の半径に対応するブロックサイズを得ると理解される、テクスチャの角度
cv::Mat eigen;
cv::cornerEigenValsAndVecs(skewImage,eigen,blockSize,5);
//eigen:lambda1, lambda2, x0,y0, x1,y1
for( int j = 0; j < skewImage.rows; j+=blockSize )
{ for( int i = 0; i < skewImage.cols; i+=blockSize )
{
float x2 = eigen.at<cv::Vec6f>(j, i)[4];
float y2 = eigen.at<cv::Vec6f>(j, i)[5];
int angle_cell = angle(x2,y2);//感觉这里,x,y顺序写反了。其实没有写反,后面求了余角
angle_list[(angle_cell + 180)%180]+=1.0;
}
}
5)と単純なネットワークモデルを使用し、幅を乗じた小数点以下2桁の出力は、実際には左右のxは、左右の余剰部分カットオフ
識別に6)最後に、モデル同定
2.opencvマットクローンとのcopyTo違いは何ですか?
クローンコールのcopyToなど
どのように画像の3.bitwise_not操作
どのように指定されたディレクトリ内のプロジェクトバイナリ出力ファイルを作成4.cmake
セット(CMAKE_RUNTIME_OUTPUT_DIRECTORY、$(CMAKE_CURRENT_DIRECTORY))
5. CMakeLists.txtは、SET(CMAKE_C_FLAGS_DEBUG "-g -DDEBUG")を設定
GDBがどのように対処するシンボルをロードしませ促すことができるのxxを示唆SET(CMAKE_CXX_FLAGS_DEBUG "-g -DDEBUG")、できないデバッグを、?
そのため、セット(CMAKE_BUILD_TYPE、DEBUG)を設定します
(skewImage、固有、ブロック・サイズsobel_window_size)がある役割6.cornerEigenValsAndVecsは何ですか?
楕円の二つの半径のそれぞれ1枚の画像、各ブロック・サイズ勾配マトリックス内部の固有ベクトルと固有値二つの固有値の平方根を、探しています。
参考:https://www.cnblogs.com/ronny/p/4009425.html
7.Harrisコーナー検出、その行列、固有値、固有ベクトルはポイントが何であるかの代表的なものですか?
勾配設定を求めて各点に代表マトリクス、ウィンドウ、
そして、勾配マトリックスウィンドウがすべてのポイントを加算します。
二つの固有値が大きい楕円の二つの半径を表す特性値は、その後、コーナー点が表現されます。
8.hyperlprナンバープレート検出アルゴリズムを使用何?
カスケード森ハール特徴検出アルゴリズムを使用して
9.識別するために使用されるアルゴリズムは何ですか?
CONV、maxpoolを再開
CONV、maxpoolを再開
CONV、履歴書
密集し、再読み込み
密集し、再読み込み
10.エフェクトが見つかり:
いくつかの複雑な場合、検出することができない、ナンバープレートを検出するために、DNNの方法を使用することをお勧めしますが、テキストを検出crnn