Use of Python Scripts to Compare and Contrast Photo Images

Slides:



Advertisements
Similar presentations
Programming Paradigms and languages
Advertisements

Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Russell Taylor Lecturer in Computing & Business Studies.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Types of software. Sonam Dema..
Intro to Python Programming (Introduction) Pamela A. Moore Zenia C. Bahorski Eastern Michigan University March 7, 2012 A language to swear by, not at.
CSCI-383 Object-Oriented Programming & Design Lecture 13.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Abstract The Center for Remote Sensing of Ice Sheets (CReSIS) has collected hundreds of terabytes of radar depth sounder data over the Greenland and Antarctic.
Intro to Python Programming (Part 1) Pamela Moore Zenia Bahorski Eastern Michigan University March 16, 2011 A language to swear by, not at.
The Software Development Process
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Python & NetworkX Youn-Hee Han
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
CONTROL-M Training At Global Online Trainings IND: Skype: Global.onlinetrainings USA:
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Presented By Sushil K. Chaturvedi Assistant Professor SRCEM,Banmore 1.
Introduction to Programming and App Inventor. Introduction What is a computer program? Introducing App Inventor Getting hands on with App Inventor.
Python Scripting for Computational Science CPS 5401 Fall 2014 Shirley Moore, Instructor October 6,
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Computer System Structures
Introduction to Computers
Topic 2: Hardware and Software
CSC235 Computer Organization & Assembly Language
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Python Programming Unit -1.
Lecture 1b- Introduction
Development Environment
CST 1101 Problem Solving Using Computers
Visit for more Learning Resources
CSC391/691 Intro to OpenCV Dr. Rongzhong Li Fall 2016
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Introduction to Computer Science
CSCI-235 Micro-Computer Applications
Self Healing and Dynamic Construction Framework:
Spark Presentation.
MatLab Programming By Kishan Kathiriya.
Object-Orientated Programming
Prepared by Kimberly Sayre and Jinbo Bi
Tutorial 8 Objectives Continue presenting methods to import data into Access, export data from Access, link applications with data stored in Access, and.
Invitation to Computer Science 5th Edition
SVTRAININGS. SVTRAININGS Python Overview  Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed.
Chapter 2: Operating-System Structures
TRANSLATORS AND IDEs Key Revision Points.
Introduction to Computer Programming
Introduction to Computers
Using Tensorflow to Detect Objects in an Image
Torch 02/27/2018 Hyeri Kim Good afternoon, everyone. I’m Hyeri. Today, I’m gonna talk about Torch.
Introduction to MATLAB
Introduction to Computers
IMAGE MOSAICING MALNAD COLLEGE OF ENGINEERING
Use of Mathematics using Technology (Maltlab)
COMPUTER SOFT WARE Software is a set of electronic instructions that tells the computer how to do certain tasks. A set of instructions is often called.
Topics Introduction Hardware and Software How Computers Store Data
What's New in eCognition 9
Use of Python Scripts to Compare and Contrast Photo Images
Chapter 1 Introduction(1.1)
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Using Tensorflow to Detect Objects in an Image
Outline Chapter 2 (cont) OS Design OS structure
Intro to PHP.
Simulation And Modeling
Chapter 1: Programming Basics, Python History and Program Components
FEATURES OF PYTHON.
What's New in eCognition 9
Web Application Development Using PHP
Presentation transcript:

Use of Python Scripts to Compare and Contrast Photo Images 2017-2018 :: Disaiah Bennett, Kevin Benton :: Mentor Derek Morris Jr., Joel Santiago :: Center of Excellence in Remote Sensing Education and Research ABSTRACT | A. PIL PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities. It was developed by Fredrik Lundh and several other contributors. Pillow is the friendly PIL fork and an easy to use library developed by Alex Clark and other contributors. [2] B. OpenCV OpenCV was started at Intel in 1999 by Gary Bradski, and the first release came out in 2000. Vadim Pisarevsky joined Gary Bradsky to manage Intel's Russian software OpenCV team. In 2005, OpenCV was used on Stanley, the vehicle that won the 2005 DARPA Grand Challenge. Later, its active development continued under the support of Willow Garage with Gary Bradsky and Vadim Pisarevsky leading the project. OpenCV now supports a multitude of algorithms related to Computer Vision and Machine Learning and is expanding day by day. OpenCV supports a wide variety of programming languages such as C++, Python, Java, etc., and is available on different platforms including Windows, Linux, OS X, Android, and iOS. [3] C. Numpy NumPy is the fundamental package for scientific computing with Python. It contains among other things like a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, NumPy can also be used as an efficient multi- dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases. [4] CONCLUSION | In python there is an ability to write python scripts for a variety of projects. For this project the python script was written to perform an image comparison. This was done with various libraries that are included in the python language. These libraries include Image, OpenCV, and etc. Thus, when importing these the program would ask the user for two images and the size for the images the program would display the pixel values for the images as well as display an image were if the pixels of the two images matched the image would be "black out" for that section. The team later found out that to compare the images the team needed to resize the two images as well as that to have the program run on different computer the necessary libraries needed to be on the new computer. Therefore, in the future the team decided that the program would need to be more robust and efficient. After testing the code, the team determined that multiple images of different file types could be compared based on pixel values; However, images must be resized to the same width and height to the opposing image. By reflecting on the data, python image libraries and modules were rated to produce higher statics and image variables over majority of the programming languages. The team also concluded that image comparison is not the same across different operating system platforms. Each operating system contain their own modules and necessary drivers required to execute the program, even when they can utilize the same python library. FUTURE WORK | In the future, the team plans on manipulating the code to compare multiple images at once, rather than two images and producing a more efficient result. Based on the data produced by the python program, the script utilization limited the user to operate on two images to reduce the amount of system errors/crashes. In a more professional setting, operating at a lower and more balanced time complexity would be recommended; However, developing a method that would deliver faster and sharper image comparisons would be ideal for researcher in the STEM field. Image processing/comparison programs are developed to detect anomalies within various and diverse images; Therefore, the development of the script is critical towards certain performances. INTRODUCTION | Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms and can be freely distributed. [1] ANALYSIS | The python script utilized constructed a separate compare/contrast image from the two original photos selected by the user. Printing out each image individually, the pixel's value is displayed on the screen and organized in a descending order by rows and columns.[5] With the current python script, images of the same width and height are recommended when comparing. As the team advanced in testing the python script, two large images were compared but of different sizes. However, the overwhelming amount of data being produced within the CPU resulted in the system crashing on various occasions. When two images of a different size are compared the image's matrix ratio will proceed in an error, due to the image sizes not being compatible. To proceed comparing multiple images, the python script grants the user the option to select between resizing an image or maintaining its current form. By resizing the photo to an equal size, the images are reduced or enlarged by the CPU and are subtracted by the each other to produce an image that is the contrast. ACKNOWLEDGMENTS | We would like to thank Dr. Linda B. Hayden for her support during this project. The team would also like to thank Derek Morris, for his assistance and his guidance with the research and execution of the project. REFERENCES | [1] Python.org. (2018). What is Python? Executive Summary. [online] Available at: https://www.python.org/doc/essays/blurb/. [2]"EXTRACTING PIXEL VALUES OF AN IMAGE IN PYTHON - Akshay Pai", HackerEax rth, 2018. [Online]. Available: https://www.hackerearth.com/practice/notes/extracting-pixel-values-of-an-image-in-python/. [3]"OpenCV library", Opencv.org, 2018. [Online]. Available: https://opencv.org. [4]"NumPy — NumPy", Numpy.org, 2018. [Online]. Available: http://www.numpy.org. [5]"scikit-learn: machine learning in Python — scikit-learn 0.19.1 documentation", Scikit-learn.org, 2018. [Online]. Available: http://scikit-learn.org/stable/. METHODOLOGY | For the python program the team had to learn more advanced python programming and research some python topics. The topics that needed researching was how to open an image, and then how to get the pixel values for both images. This resulted in the knowledge that would lead the team would use to build a python program that would ask the user what two images that the user wanted to compare, display the pixel data for the two images, and then output a picture that showed the differences between both photos. The team did find out that unless the two images were the same size, the program could not compare the two images. The root of this cause is that since the pixel data was passed to an array, meaning the lengths of the two images need to be the same. Thus, the program was altered to ask the user what size picture the user would want.