Vehicle Number Plate Detection and Character Recognition using MATLAB

Before understanding the concept behind image reading and recognition, you should understand “Fourier Transform” and basic matrix operations in Matlab.

1) Let’s consider we have captured below the picture of the vehicle, in which number plate and its font is clear with the surrounding contrast.

Vehicle number plate detection using MATLAB
Vehicle number plate detection using MATLAB

2) To locate the car license plate and identify the characters, we use the Matlab platform to provide some image processing functions to Fourier transform the character template and the image to be processed as the core idea. The basic method is as follows:

  1. Read the image to be processed and convert it to a binary image. After converting, using the threshold of 0.2 near the license plate characters most clearly, the least points (as shown below)
    I = imread('car.jpg');
    I2 = rgb2gray(I);
    I4 = im2bw(I2, 0.2);
  2. Remove the area where the image is too small to be sure of the license plate.
    bw = bwareaopen(I4, 500);
  3. To locate the license plate, inflate the white area, corrode to unrelated small objects, including the license plate characters.
    se = strel('disk',15);
    bw = imclose(bw,se);

  4. At this point the number plate where the white connectivity domain is clearly visible, but outside the black area, there is a larger white connectivity domain and the license plate where the domain surrounded by. It is necessary to fill it.
    bw = imfill(bw,[1 1]);
  5. Now, let’s find the connectivity domain boundary. While retaining this graphic for later to mark it on it.
    [B,L] = bwboundaries(bw,4);
    imshow(label2rgb(L, @jet, [.5 .5 .5]))
    hold on
  6. Finding the one that is most likely to be the number plate in all connected domains. The standard of judgment is that the aspect ratio of the license plate is about 4.5: 1, and its area is related to the circumference:(4.5 × L × L) / (2 × (4.5 + 1) × L) 2 ≈ 1/27 ,Which is characterized by,metric = 27 * area / perimeter ^ 2as the matching degree of the connected domain, the closer it is to 1, the more likely that the corresponding connected domain is 4.5: 1.

    MATLAB Program

    stats = regionprops(L,'Area','Centroid');
    for k = 1:length(B)
      boundary = B{k};
      delta_sq = diff(boundary).^2;   
      perimeter = sum(sqrt(sum(delta_sq,2)));
      area = stats(k).Area;
      metric = 27*area/perimeter^2;
      metric_string = sprintf('%2.2f',metric);
    if metric >= 0.9 && metric <= 1.1
        centroid = stats(k).Centroid;
        plot(centroid(1),centroid(2),'ko');
        goalboundary = boundary;
        s = min(goalboundary, [], 1);
        e = max(goalboundary, [], 1);
       goal = imcrop(I4,[s(2) s(1) e(2)-s(2) e(1)-s(1)]);
    end
      text(boundary(1,2)-35,boundary(1,1)+13,...
      metric_string,'Color','g',...
    'FontSize',14,'FontWeight','bold');
    end
    for k = 1:length(B)
     boundary = B{k};
     plot(boundary(:,2),boundary(:,1),'w','LineWidth',2)
    end

    The rectangular matching degree is 0.99, which is the most probable area. Below is the license plate area in the binary image determined by it:

  7. The license plate image is highlighted and expanded to a square of 256 × 256 (left as shown below) so that the matrix rotation operation is performed in the following “Fourier transform”.
    goal = ~goal;
    goal(256,256) = 0;
    figure;
    imshow(goal);
  8. Read a character template from the file (with “P” as an example, the template image is taken directly from the above binary image). Calculate the Fourier descriptor for the image and calculate the descriptor with a predefined decision function. In the transformed image, the level of brightness indicates the degree to which the corresponding region matches the template (as shown in the figure below).
    w = imread('P.bmp');
    w = ~w;
    C= real(ifft2(fft2(goal).*fft2(rot90(w,2),256,256)));
  9. By checking the maximum value of C, the test determines a suitable threshold (where 240 is appropriate), showing the point where the brightness is greater than the threshold, that is, the highest degree of matching to the template (see below).
    thresh = 240;
    figure;
    imshow(C > thresh);

    In contrast to the left and right graphs, it can be shown that the character “P” is recognized and positioned. The same way that you can identify and locate other characters.

3) This method is generally easier to understand, Matlab function hides the Fourier transform and other complex calculations. Disadvantages: In the positioning of the license plate, the program specifically according to the characteristics of the given image design, there is no universality. In character recognition, only characters that are substantially consistent with a given template are recognized. License plate size, angle, light, integrity, clarity changes, it can not be identified. At the same time for “8” and “B” similar characters, recognition is often confused.

Download

Click here to download MATLAB program and related files.

If you like this article, please share it with your friends and like or facebook page for future updates. Subscribe to our newsletter to get notifications about our updates via email. If you have any queries, feel free to ask in the comments section below. Have a nice day!

Temperature Controller Project using LabVIEW and Arduino

Hi friends, here we are going to build a small engineering project based on LabVIEW and Arduino. In this project, we are making Temperature controller using Arduino and LabVIEW. We will operate a cooling fan when the temperature goes above set point.

Before you start this project make sure that you have installed LabVIEW Interface For Arduino (LIFA) on your system. If not follow this article for installing LIFA: How to Interface Arduino with LabVIEW

Components required:

  • Arduino Uno (or Freeduino)
  • 10K ohm resistor
  • Thermistor (Click here to buy)
  • RGB LED (or separate LEDS can also be used)
  • DC fan (5V)

Theory:

In this temperature controller project, we will use thermistor for measuring the temperature of a liquid or any other material. We are using three LEDs to indicate temperature range. Red LED is used to indicate the temperature is the above set point. Blue LED will indicate temperature lies between upper and lower set point. Green LED will indicate temperature below set point.

Front Panel of Temperature Controller
Front Panel of Temperature Controller

When the RED LED glows the cooling fan will turn on. Due to cool air (or you can also use a cooler water pump with relay circuitry), your object (liquid) will get cooled. When the temperature falls down DC cooling fan will get turned off.

Construction of Temperature Controller Project:

Interfacing thermistor with Arduino
Interfacing thermistor with Arduino

Temperature controller using LabVIEW and Arduino
Fig 2: Temperature controller using LabVIEW and Arduino
  • Connect thermistor and Resistor with the analog port of Arduino as shown in the first image.
  • Now connect three LEDs with positive terminals of each led to pin number 8,9 and 10. Connect negative terminal of LED with common (ground of Arduino).
  • Now depends on your application i.e. if you are using the small 5V dc fan you can connect it directly to the Arduino (pin number 3 and ground) using motor driver IC L293D (In the figure we have connected the motor directly but it should be not so. You should use a motor driver IC). If you are using 230V AC appliance you need a relay circuit. You can buy it from here.

Download LabVIEW Program: Click Here

You may like these articles

If you like this article, please share it with your friends and like or facebook page for future updates. Subscribe to our newsletter to get notifications about our updates via email. If you have any queries, feel free to ask in the comments section below. Have a nice day!

How to Interface Arduino with LabVIEW

Hi friends, here we will see how to interface arduino (or freeduino) with LabVIEW. In this post a step by step tutorial is given on LabVIEW Interface For Arduino (i.e. LIFA). Follow the steps in given order and configure your LabVIEW to make it comaptible with Arduino or Freeduino.

LabVIEW Interface For Arduino:

Step 1: Download LabVIEW Interface For Arduino (LIFA) 

Step 2: Don’t install LIFA directly. If you install LIFA directly you will get an error like

“VIPM could not continue. Please fix the error and try again. VIPM could not connect to Labview 2013. VIPM requires LabVIEW access as a part of the current task execution in progress. please verify the VI SERVER : Exported VIs and Machine access settings in LabVIEW 2013…… “

Complete the following steps to enable VI server access

Step 3: Open LabVIEW go to Tools > Options > VI Server

LabVIEW Settings for Arduino 005

 

Configuring VI Servers in LabVIEW 006

 

Step 4: After clicking on VI Server scroll down to check Machine Access. Here you have to add machine access list manually. So make sure that you have added “10.211.55.13”, “localhost”, “*” in the Machine access list as shown in above image. Then click on OK.

Step 5: Now open downloaded VI Package Manager.

Step 6: Search for LabVIEW Interface For Arduino and double click on it to install it.

LabVIEW Interface For Arduino LIFA

LabVIEW Interface for Arduino 002

 

Step 7: Click on continue and after installation complete click on finish.

LabVIEW Interface for Arduino 003

LabVIEW Interface for Arduino 004

 

Now you are ready to connect arduino with LabVIEW. In the next post we will see how to connect Arduino with LabVIEW practically and we will do a simple project using Arduino and LabVIEW.

For more details you may refer: Configuring VI Server 

See also:  How to save LabVIEW Program in Image format

I hope you have successfully installed LabVIEW Interface for Arduino and ready to do some stuff with Arduino. If you have any doubt feel free to ask. Share this article with your friends and like our facebook page for future updates.

How to save LabVIEW Program in Image format

In this short tutorial I am going to show how to export Labview Block Diagram in image format. Using these steps you can save LabVIEW block Diagram in different image formats like PNG, JPG or GIF. Do following steps one by one.

Export Labview Block Diagram in image format:

Step 1: Click on File > Print

Step 2: Select VI (already selected) click on next

Step 3: Select icon, description, panel and diagram and then click on next.

Export Labview Block Diagram in image format.

Step 4: Now select destination as HTML file and click on next.

Exporting LabVIEW file in image format

Step 5: At this stage you have to choose desired image format. I will recommend to use PNG format of image. Because it is loss less image and also has small size.

Saving Labview program in image format

Step 6: Finally click on save and choose the destination where you want to save the image.

In this way you can easily convert Labview Block Diagram in image format for your project work, journals or other things.

See also: LabVIEW Program for celsius to fahrenheit conversion

If you like this article, please share it with your friends and like or facebook page for future updates. Subscribe to our newsletter to get notifications about our updates via email. If you have any queries, feel free to ask in the comments section below. Have a nice day!

LabVIEW Program for Degree Celsius to Fahrenheit Conversion

Hi friends, today we are going to learn a simple program using LabVIEW. This might be your first program using LabVIEW. Here we are going to convert temperature readings from degree Celsius into degree Fahrenheit. Without wasting too much time let us start programming with LabVIEW for our first program.

LabVIEW Program for degree Celsius to Fahrenheit Conversion

Step 1: Open the LabVIEW and click on Blank VI

Open new VI project

Step 2: Now you will see two windows on your computer screen. One is ‘front panel’ and other is ‘block diagram’. To properly adjust both of them on your screen press “Ctrl+t” from your keyboard.

Step 3: Now you will see both the windows are adjusted on a single screen. Move your cursor on block diagram window and right click on empty space. The available function will appear. Click on structures and then click on while loop. Now draw the while loop (box) by dragging your mouse on block diagram window.

Creating while loop in labview

 

Step 4: In this first LabVIEW program we are converting temperature readings from degree Celsius to degree Fahrenheit. So, in short, we are implementing the formula to convert C>F as shown below.

Celsius to Fahrenheit conversion formula

 

Step 5: First of all we have to take a slider to vary the Celsius readings. To bring a slider, right click on the front panel. Available controls will appear. Move cursor on “Numeric” and click on “vertical fill slide”. You can give a name to the slider. Here we are using this slider for degree Celsius readings, therefore, I have named as “Deg C”. In this way, we have completed “C”. Now we have to multiply this “C” with “9/5” as shown in the formula.

Taking slider in labview

 

Step 6: To multiply “C” with “9/5”, we will first multiply it with 9 and then divide it by 5. To multiply “C” with 9 we have to take “multiplier”. Right-click on block diagram > numeric > multiply. Same steps will be needed for taking divider and for addition with 32 as from formula.

numeric operations in labview

 

Step 7: for taking “9” i.e. constant right click on block diagram > numeric > numeric constant.

numeric constant in labview

Step 8: Similarly take divider and divide by 5. Take addition and add 32. Now your block diagram will look like this:

celsius to fahrenheit

Step 9: Now we have shown this converted temperature readings (which are now in Fahrenheit) on the numeric indicator. Right click on front panel > numeric > numeric indicator. I have given the name as “Deg F” to this numeric indicator.

numeric indicator in labview

Step 10: Finally we have to create a control for the while loop to stop the program at any time. To create a control right click on red button i.e. “loop condition” and select “create control”.

creating control in labview

Step 11:  Save the program by pressing “Ctrl+S”.

Step 12: Click on run button available in the block diagram window.

Run

Step 13: Now vary the slider you will see a corresponding change in degree Fahrenheit output.

Output

Labview_program_for_degree_to_fahrenheit_conversionp

If you are having any problems while doing your first LabVIEW program feel free to ask in comments. I am also providing a LabVIEW program file for converting Celsius to Fahrenheit which you can download here.

Download

Click here to download the LabVIEW program.

If you like this article, please share it with your friends and like our facebook page for future updates. Subscribe to our newsletter to get notifications about our updates via email. If you have any queries, feel free to ask in the comments section below. Have a nice day!

Vehicle Tracking Using Microcontroller & GPS Module: Electronics Project

Hi friends, In this project, we are going to make a Vehicle tracking system using 8051 microcontroller and GPS module. You can use this project for you final year submissions which cost you around 2500Rs. This is quite interesting and useful project in our day to day life.

We can easily track lost vehicle using this Vehicle tracking GPS module. In this project we are using 8051 microcontroller, GPS module to track the vehicle location. This system will send a location of the vehicle in the form of longitude and latitude values. If you enhance this project you can also easily track the position of the vehicle in the graphical presentation on your PC.

Vehicle Tracking Using Microcontroller and GPS Module

Objective

The main objective behind developing this project is to track the vehicle position using microcontroller GPS module & Zigbee module along with software to see the track of vehicle on PC.

Block Diagrams

1) Connecting GPS with ZigBee:

Connecting GPS and Zigbee
Connecting GPS and Zigbee

 

2) Vehicle Tracking Block Diagram:

Vehicle Tracking Block Diagram
Vehicle Tracking Block Diagram

 

3) Power supply for Vehicle Tracking Circuit:

Power Supply
Power Supply

 

Description

In this project, we using AVL technology. AVL stands for Automatic Vehicle Location. AVL is an advanced method to track and monitor any vehicle which is connected with Vehicle tracking circuit.AVL is a combination of GPS (Global Positioning System) and GIS (Geographic Information System). All data transmission in this project depends on GPS satellite and receiver on the board and Zigbee.

There are plenty of tutorials available on the Internet on how to connect Zigbee with your GPS module. Once you integrate Zigbee and GPS connect your circuit with Microcontroller. You can refer this article on how to connect GPS with 8051 microcontroller.

Software

For building this Vehicle tracking system you will need Embedded C knowledge, RIDE to write code and ISP to burn the chip.

Hardware

  • 8051 microcontroller kit
  • power supply
  • Zigbee module
  • GPS module

If you like this article, please share it with your friends and like or facebook page for future updates. Subscribe to our newsletter to get notifications about our updates via email. If you have any queries, feel free to ask in the comments section below. Have a nice day!

Final Year Engineering Projects for Instrumentation Engineering

Hi friends, in this article we will see some innovative project ideas. You can make use of these projects to build your engineering projects. These projects are specially for Instrumentation, electrical and electronics students.

In this post we will just discuss what type of innovative projects you can make for your final year projects. In upcoming posts we will see how we can build all these projects step by step.

Instrumentation Engineering Final Year Projects

Instrumentation Engineering Final Year Projects
Instrumentation Engineering Final Year Projects

 

1) RF Based Load Automation for smart home

Nowadays, modern houses and organisations are gradually shifting from conventional control system to centralised control system. This centralised control system make use of RF remote control to operate the equipment.

We can build this centralised control system by use of RF Transmitter, Receiver, micro controller, Encoder, Decoder, Switches and relays. This project costs near around 3000Rs – 4000Rs.

2)   Home Automation using TV Remote

This project looks very interesting and impressive as it involves home automation using our TV remote control. Infrared signals transmitted by remote control will get captured by sensor interfaced to control system. All the loads which you want to automate are connected to control system through relays.

Future scope of this project: You can enhance this project based on radio signal instead of Infrared signal of remote control. This will increase operating range so that you can operate equipment which are far away.

3) Recognition of Vehicle Number Plate using MATLAB

This is also one interesting project for Instrumentation Engineering students. In this project we are using just MATLAB so this project is also cost effective.

Here we capture the image of Vehicle number plate and by use of Image processing in MATLAb we can extract the data from that image. MATLAB will recognise the numbers from number plate and will show it as output.

4) Temperature control system using LabVIEW and Arduino

In this project we make use of LabVIEW and Arduino. To measure the temperature we can use any temperature sensor like thermistor, RTD, etc. We connect these sensors to analog pins of Arduino which will be interfaced to LabVIEW.

We can set our desired logics in LabVIEW to operate the heating elements. These heating elements are connected to arduino through relayes.

See also: Temperature controller using LabVIEW and Arduino

In upcoming posts we will see some more interesting projects for instrumentation and electrical engineering students. I hope you liked these project ideas. Like our facebook page and subscribe to our newsletter for future updates.

List of Final Year Projects for Instrumentation Engineering

Hello, friends. It is very important to choose a good project in your final year of engineering. Your project should be attractive, innovative and more important is its output. If you successfully built a project and obtain its output you will definitely get good grades. So always choose a project for your final year which will be implementable (means you can get all its hardware), and you will be able to get its output.

Final Year Engineering Projects

Following is a list of Final year engineering projects for Instrumentation and Control Engineering students.

1) Machine Vision Based Object Sorting

This project is based on Machine vision. You can use a digital camera of your mobile or a separate camera for detecting objects. A conveyor can be used to move objects from one place to other. Whenever a defective product or unwanted product is passed over a particular point a camera will detect that product and will be sorted out. You have to use LabVIEW or Matlab for image processing.

2) Temperature Control System using PLC

PLC is one of the core subjects in Instrumentation and Control Engineering. So it will be impressive if you use PLC in your project. To built a Temperature Control System using PLC you can use RTD or Thermistor and a Heater. Whenever temperature rise above the predefined level a coolant (water) can be circulated surrounding the tank. When the temperature goes below set point a heater will get automatically on. You can use a PID controller for better controlling action than on-off control. This is really a good final project for  Instrumentation and control Engineering students.

3) Automatic Bottle filling project using PLC

This is also a good project for the final year. Its hardware is attractive and use of PLC in the project will impress your external. In this project, you can use a conveyor for bottle (cups) passing. IR sensor will detect the presence of bottle. At the same time, it will stop the conveyor. By generating a timer in PLC a Solenoid valve will start filling bottle. When the timer is completed solenoid valve will be closed and conveyor will get the start.

4) Automatic Irrigation System

This is an interesting project and involves measurement of soil moisture using Hygrometer. A hygrometer is an easily available sensor or eBay or amazon.  Whenever soil moisture decreases a pump will get start and water will wet soil. Thus no need of human for watering plants or farm. You can use and Arduino for analog reading and its digital output pins will operate pump on and off.

5) Home automation using PLC

In this project, we can control home appliances like a fan, Bulb, etc. using PLC. You can make use of Relays to connect home appliances with PLC.

6)PC Based Wireless transmission of process parameters

This is also a good final year project for Instrumentation and Control engineering students. In this project, you can transfer readings of process parameters like temperature, flow, pressure, etc. from one PC to other wireless. For this, you can use ZigBee.

7) Auctioneering Control System using LabVIEW

Auctioneering Control System
Auctioneering Control System

This is really a core instrumentation project. In this project, you are going to control the temperature of the system using auctioneering control system. It means measuring parameters at different location and control action will be taken based on the most appropriate reading. Same hardware as that of Temperature control system using PLC discussed above can be used. Except for PLC you can use LabVIEW and Arduino.

You may also like

  1. Final year engineering projects list 1
  2. Final year engineering projects list 2
  3. Final year engineering projects list 3

If you like this article, please share it with your friends and like or facebook page for future updates. Subscribe to our newsletter to get notifications about our updates via email. If you have any queries, feel free to ask in the comments section below. Have a nice day!