我的毕设-基于OpenCV的图像车牌识别(I)

Posted sonnyyeung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的毕设-基于OpenCV的图像车牌识别(I)相关的知识,希望对你有一定的参考价值。

由于大三以来一直在学路由交换和Linux方面,所以Coding能力大幅下降,加上毕设老师指定了一个完全不会的题目,恍如晴天霹雳,硬着头皮接下了任务,查阅了相关资料以后暂定使用OpenCV+VS2013来完成这个毕设,苦于C++在校根本没学_(:з」∠)_,又是霸王硬上弓,本篇文章可能显得十分小白,请谅解

本随笔随着完成进度的更新而更新

一:环境

    Win10+VS2013+OpenCV 3.0

二:下载与安装

   OpenCV 3.0下载地址:https://opencv.org/releases.html

   (由于网上大部分关于OpenCV配置大多数是2.4.1和3.0了,所以查资料的时候为了避免没必要的问题我配置的环境还是OpenCV3.0)

   VS自己网上找吧,激活码一大把_(:з」∠)_

三: 配置环境变量

   之前配置过JAVA的应该都知道需要配置环境变量

    新增环境变量:OpenCV  地址为你将OpenCV解压的地址:

    技术分享图片

配置PATH环境变量,在PATH中加入:

%OPENCV%\x86\vc12\bin

%OPENCV%\x64\vc12\bin

为了适应Win32和x64平台之间的切换,所以同时添加了两个bin目录(然而我在使用X64测试的时候出现了BUG,问题之后说)

 技术分享图片

 

注:环境变量不生效请重启

(注:此处配置方法有多种,由于配置反复不成功因此最后成功时俩种方法都有涉及,但本质上只需要配置一种即可,在下面将俩种方法都列出,可以都看看)

OpenCV配置文件opencv300.props 
新建一个后缀为.props的属性文件,然后将下面的配置代码复制进去

 

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>$(OPENCV)\include;$(OPENCV)\include\opencv;$(OPENCV)\include\opencv2;$(IncludePath)</IncludePath>
    <LibraryPath Condition="‘$(Platform)‘==‘Win32‘">$(OPENCV)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
    <LibraryPath Condition="‘$(Platform)‘==‘x64‘">$(OPENCV)\x64\vc12\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <Link Condition="‘$(Configuration)‘==‘Debug‘">
      <AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AddtionalLibraryDirectories>%(AddtionalLibraryDirectories)</AddtionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup>
    <Link Condition="‘$(Configuration)‘==‘Release‘">
      <AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <AddtionalLibraryDirectories>%(AddtionalLibraryDirectories)</AddtionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>

 

 

之后进入VS2013 选择Win32控制台应用程序,并且之后选择空白工程

 

之后 视图-其他窗口-属性管理器 将上面的属性表给添加上去

 技术分享图片

之后新建一个main.cpp工程,测试是否成功

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{

    Mat image;
    char* location = "C:/Users/Yeung/Desktop/QQ图片20171226163741.jpg";
    //这里的路径也可以使用相对路径,若使用相对路径,test.jpg文件应该放在main.cpp所在文件夹下
    image = imread(location, IMREAD_COLOR); // Read the file
    if (!image.data) // Check for invalid input
    {
        cout << "Could not open or find the image" << std::endl;
        system("pause");
        return -1;
    }

    namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
    imshow("Display window", image); // Show our image inside it.

    waitKey(0); // Wait for a keystroke in the window
    system("pause");
    return 0;
}

如果配置成功下面就不用看了。。。。

成功界面:

技术分享图片

 

 

我是在这里报了   远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行这个错误,关闭防火墙以后错误消失

_______________________________________

如果还是没有成功,可以尝试以下操作:

技术分享图片

VC++目录,包含目录:

添加:

技术分享图片

D:\opencv3.0\opencv\build\include\opencv2
D:\opencv3.0\opencv\build\include\opencv
D:\opencv3.0\opencv\build\include

添加你自己opencv3.0相对应的opencv2,opencv,include文件路径

库目录:

技术分享图片

D:\opencv3.0\opencv\build\x64\vc12\staticlib
D:\opencv3.0\opencv\build\x64\vc12\lib

添加你自己opencv3.0相对应的lib文件路径

链接器,输入,附加依赖项添加:

技术分享图片

opencv_world300.lib
opencv_world300d.lib

 

 

之后再运行应该是能正常运行了

 

这里算是将OpenCV在VS当中配置成功

没有解决的问题:

X64位运行的时候会报错,Win32正常运行,网上查阅没有解决

 

 

参考链接:

http://blog.csdn.net/desti5/article/details/39012343

http://blog.csdn.net/u010009145/article/details/50756751

图像识别相关链接:

《Mastering Opencv ...读书笔记系列》车牌识别(I)
http://blog.csdn.net/jinshengtao/article/details/17883075

《Mastering Opencv ...读书笔记系列》车牌识别(II)
http://blog.csdn.net/jinshengtao/article/details/17954427








以上是关于我的毕设-基于OpenCV的图像车牌识别(I)的主要内容,如果未能解决你的问题,请参考以下文章

java毕设项目车牌号码识别系统开源了,很好玩,建议尝试

毕设题目:Matlab车牌识别

毕业设计水果图像识别系统 - 深度学习 OpenCV python

基于OpenCV 的车牌识别

基于python+Opencv的车牌识别

基于Opencv实现车牌图片识别系统