Python Based Image Processing (PDF Download Available)

May 24, 2017 | Author: Anonymous | Category: Python
Share Embed


Short Description

Feb 16, 2018 - Full-text (PDF) | Python Based Image Processing | ResearchGate, the professional network for scientists. ...

Description

Python Based Image Processing Ms. Harshada Gujar Ms. Pranaya Mhatre Ms. Shweta Ghanate

Ms. Snehal Chile Ms. Suchita Kadam Ms. Darshana Kurle

Email Id: [email protected]

Abstract—The Python programming language excels at integrated tasks. It is widely used as a high level, free and open source language which is remarkably dynamic, interpreted, scripting and multiparadigm. It also supports object oriented programming features and can be used as a general purpose programming language. Python is easier to learn and has simpler syntax as compared to C, C++ and Java. Python is equally famous for desktop based applications. Python has various and extensive support for libraries such as pip, pillow, Networkx, matplotlib, numpy ,pylab, etc. The fields where Python really shines in are data science and machine learning, numeric, symbolic computations. Also, it is used in other fields like Image processing, Games, Web developments and Big Data Analytics. Python is used by Youtube, Google, NASA, Walt Disney, Blender, Cinema 4D, Crystal Space and many more. Image processing with Python is a very efficient and effective process for carrying out operations such as analyzing the digitization of the images to extract the required information. Several operations such as improving the quality, enhancing, zooming, blurring, inverting the image, writing text on the images, greyscale, performing image restoration, recovering, etc. is possible with Python. In this paper, various operations on the image has been performed in Python with the use of functions so that it becomes easy for a person to understand the concepts of Python and image processing very well. This will be useful for solving the real world tasks and processes in a very effective manner.

Dr. Sanjay Shitole Usha Mittal Institute of Technology, SNDT Women’s University Juhu, Santacruz(W) 400-049

multiple programming paradigms, which includes object oriented, functional programming and procedural style. It manages memory automatically and has a large and comprehensive. Python language was developed by Guido van Rossum in 1991. Python is derived from many other programming languages such as C, C++, Unix shell etc. A. Why to learn and use Python?

I. I NTRODUCTION

The Python programming language has few lines of code, no initialisation of datatype and it has a greater design philosophy. In general, programming languages can be classified as: • Dynamic and strong : Erlang, Ruby, Python • Static and strong : Java, C#, Scala • Dynamic and weak : Perl, PHP, JavaScript • Static and weak : C, C++ In dynamically typed languages, there is no need to declare the data type of a variable, but in statically typed languages, you need to declare the type of a variable. Weak typing means that the type of an object can change depending on context. For example, in a weakly typed language, the string 123 may be treated as the number 123 if you add another number to it and in a strongly typed language, the type of an object does not change. An int is always an int and trying to use it as a string will result in an error [12]. Python can be used for following

Python is a high level programming language.Python interpreters are available for many operating systems that allow the execution of Python code on a wide variety of systems. Python supports

purposes: • Web Programming: Django, Pyramid, Flask, web2py • GUI Development: wxPython, tkinter, PyQt

• • •

Scientific and Numeric: SciPy, Pandas, IPython Software Development: BuildBot, Trac, Roundup System Administration: Ansible, Salt, OpenStack •

Python is a free and open source programming language and its setup file can be easily downloaded from the internet. The following are the advantages of using open source software: • We get freedom to use the software • We can redistribute the software to others • We can study and modify software • We can redistribute modified versions



their surroundings. Visual information refers to images and videos. In the past, we needed visual information mainly for survival. Nowadays, visual information is required for survival as well as for communication and entertainment purpose [15]. To enhance an image To extract some useful information from an image that can be utilised for heath sciences,public safety, etc.

So, in short, following steps are involved in image processing : 1) We take input as an image. 2) Analyse and manipulate the image. 3) Output is a processed image.

These are the following releases of Python: • Python 1.0 released in 1994 • Python 2.0 released in 2000 • Python 3.0 released in 2008 • Python 2.7 is the most recommended version • 3.0 adoption will take few more years For beginners there is no real difference between Python 2 and 3. The basics are the same for both versions (except for some syntax like print statement)

C. Why to make use of Python for Image Processing? Python has multiple libraries for multiple purposes like web development, scientific and numeric computing, image processing. To work on images, Python has a library i.e Python Imaging Library (PIL) for image processing operations. The Python Imaging Library provides many functions for image processing. We performed some basic operations using PIL modules.

B. Why Image Processing An image is nothing but a visual representation of something. It means it can be a representation of a person, animal, or any living or non-living thing. Basically, an image is a rectangular grid of pixels with definite width and height. Each pixel has its own value. So, quality of image depends on this pixel values and pixel is the unit of information present in an image. Image Processing is the enhancement of images using mathematical operations for which the input is an image, such as a photograph or video frame and the output of image processing may be either an image or set of characteristics or parameters related to the image. Need of image processing : • Humans are not satisfied with the quality of images and therefore they make use of image processing. • Humans rely upon their visual system (eyes and brain) to collect visual information about

D. Python Image Processing Library The Python Imaging Library, or PIL for short, is one of the core libraries for image manipulation in Python programming language and is freely available on internet to download. Many of the image processing tasks can be carried out using the PIL library such as image inversion, binary conversion, cropping, writing text on images,changing intensity, brightness, image filtering, such as blurring, contouring, smoothing and many more. Its initial release was in the year 1995. And many versions of PIL are available according to our operating system. Some of the file formats that it supports are ppm, png, jpeg, tiff, bmp, gif. PIL has been written in C and Python programming language. We can also install PIL through pip. $ sudo easy_install pip Now, to install Pillow, simply type the following in your terminal: 2

$ sudo pip install pillow Also, PIL can be used for the image enhancement and the development of the Python based image processing application so that it becomes easy for the beginners to learn and understand the complex tasks of the image processing using Python based image processing. Fig. 2.

II. M ETHODOLOGY

installed Python testing

This section covers installation of Python on both Windows and distribution of GNU-Linux operating systems. The simple Python software does not provide libraries like numpy, PIL etc., along with this software but Python with powerful package like Anaconda provides all other extra libraries. So, their is no need to install them explicitly. A. Installing Python 2.7 on distribution of GNULinux

Fig. 3.

The distribution of GNU-Linux provides inbuilt Python so there is no need to install Python. For verifying version of Python follow the following steps: 1) Open the Ubuntu terminal. 2) Type Python. 3) Press enter As shown in figure 1, then you will get version of Python which is present in your Ubuntu machine. You can type help and press enter for getting help related to Python. After verifying installed Python

Fig. 1.

Installing Python 2.7 on Windows 8.1: Step 1

1) The Python can be downloaded from http://www.Python.org and install it at C:\ Python27 \ For users with 64-bit systems, the 32-bit version of all software is recommended. Refer Figure 3. 2) Go to Downloads bar which is present at upward side. Refer Figure 4 as can be seen from the website. It appears that many versions of Python are available for Python 2.x and 3.x series; the most stable release is the Python 2.7.11 3) After clicking on download bar,the list of versions of Python 2.x and 3.x series appears. One can directly download one of these setup

installed Python verification

in Ubuntu machine you can do programs in Python as shown in figure 2. B. Installing Python 2.7 on Windows Following are the steps to install Python 2.7 on Windows 8.1.

Fig. 4.

3

Installing Python 2.7 on Windows 8.1: Step 2

Fig. 8. Fig. 5.

Fig. 6.

6) After clicking on Python 2.7.0 release you will get number of .exe files for various operating systems. For windows 64-bit operating system click on ’Windows X86-64 MSI Installer (2.7.0) [1], then save setup file and install it. Refer Figure 8 for the download of it. 7) Once the installation is done click finish. One also need to ensure that the Python path is set correctly or not. Sometimes it happens that there is no need to set the path in advanced system settings but you need to check it once for its proper working of Python. Typing the full path name for a Python interpreter each time quickly gets tedious, so add the directories for your default Python version to the path. Assuming that your Python installation is in C:\ Python27 \, add this to your path. 8) Open Advanced System Settings; Find the path variable and add New System Variable and than click OK. Refer Figure 9. for the path setting purpose. 9) Now, ensure that Python is installed successfully on your Windows machines or not. So, open Start Terminal and write IDLE (Python GUI). It will open and IDLE on your Screen. Refer Figure 10. Or the 2nd method to check is go to your command prompt and type : C: >Python -V And the version of Python which is installed appears as Python 2.7 10) Test whether the program works or not in IDLE of Python. Open IDLE and try out some

Installing Python 2.7 on Windows 8.1: Step 4

or .exe file and install it. Refer Figure 5. for the various versions of Python. 4) In this setup list if you not find proper 2.7 setup, then to download 2.7 version of Python, you have to search it in in search box. Refer Figure 6. for the download of it. 5) After getting the 2.7 Python setup and click on ’Python 2.7.0 Release’. Refer figure 7. for

its

Fig. 7.

Installing Python 2.7 on Windows 8.1: Step 6

Installing Python 2.7 on Windows 8.1: Step 3

download

purpose.

Installing Python 2.7 on Windows 8.1: Step 5

4

C. Installing Anaconda Package on distribution of GNU-Linux Anaconda contains a set of libraries which are useful for Python programming and for executing and writing programs. Anaconda provides Ipython, Python Notebook, IDLE, Spider. Following are the steps for installing Anaconda: https://docs.continuum.io/Anaconda/install 1) Change the directory where your Anaconda bash file is present. For example for changing directory as desktop Type cd /Desktop as shown in figure 12

Fig. 9.

Installing Python 2.7 on Windows 8.1: Step 8

Fig. 12. Fig. 10.

Installing Python 2.7 on Windows 8.1: Step 9

2) Check distribution of GNU-Linux configuration whether it is 64 bit or 32 bit. If it is 64 bit type as shown in figure 13 bash Anaconda2-2.4.1-linux-x86-64.sh.

small code of Python For eg. Refer Figure 11. for the proper working of Python IDLE It means you had successfully installed Python on your Machine

Fig. 13.

Fig. 11.

changing directory

Anaconda installation

3) Press enter for continuing installation as shown in figure 14 4) Type answer yes or no for setting location of Anaconda as shown in figure 15. 5) Then Anaconda predefined location is displayed. For confirming this location, ENTER or for aborting installation press ”CTRL-C” or specify other location as shown in figure 15 and then installation is done.

Installing Python 2.7 on Windows 8.1: Step 10

5

Fig. 14.

installing Anaconda

Fig. 17. Installing Anaconda Package on Windows 8.1: Step 1

Fig. 15.

installing Anaconda

6) For verifying whether Anaconda is properly installed or not type path of Anaconda. PATH = PATH:$HOME/anaconda2/bin write as shown in figure 16. And type Anaconda to check Anaconda version and other information. Type idle for open Python IDLE. As shown in figure 16.

Fig. 16.

Fig. 18. Installing Anaconda Package on Windows 8.1: Step 2

Figure 17. Anaconda can create custom environments that mix and match different Python versions (2.6, 2.7, 3.3 or 3.4) also Anaconda 3 , Anaconda 4 are available but stable release is Anaconda 2 version. 2) Double-click the .exe file to install Anaconda and follow the instructions on the screen. Refer Figure 18.for the installation on the Anaconda setup file. 3) Then click on finish and Restart your PC. Now, You need to ensure that whether Anaconda is been installed on your PC or not go to C Anaconda folder and its related files will be available to you. Refer Figure 19 for the installation purpose. By

verification of Anaconda

D. Installing Anaconda Package on Windows Following are the steps to install Anaconda Package on Windows 8.1. 1) Go to Continnum website of Anaconda i.e https://www.continuum.io/ and than click downloads. https://www.continuum.io/downloads. Refer 6

Fig. 21. Installing Anaconda Package on Windows 8.1: Step 5 Fig. 19. Installing Anaconda Package on Windows 8.1: Step 3

Fig. 22. Installing Anaconda Package on Windows 8.1: Step 6

Fig. 20. Installing Anaconda Package on Windows 8.1: Step 4

which are installed. Refer Figure 22 for importing the libraries in it. Packages supported in Python Anaconda 3.7 are only 391 but packages included in Anaconda 2.4.1 for Python version 2.7 are 454. Some of them are as follows: ipython, jupyter, spyder, conda, pil, pip, network, scipy etc. Thus, we come to know that the Anaconda version of 2.4.1 is much more suitable and contains more libraries than Anaconda 3.7.

default the Anaconda 2 contains the Python 2.7.0 and Anaconda 3 is also available according to your windows type i.e 32 or 64 bit. 4) Check the version of Anaconda from command prompt by refering Figure 20 on the Anaconda IDLE 5) Check the Anaconda version by writing IDLE on your search window and an executable file will appear and click on it. Refer Figure 21 and thus check the version of it. There is no need to set the path for the Anaconda setup, it is directly added up in your machine os path. 6) Verification of whether softwares or libraries are properly installed or not: There are many default libraries in Anaconda so for verification you just need to import the libraries

III. R ESULT A. Basic functions usingImage module PIL provides some modules for performing operations on images. Image module is one of them which provides some basic functions like open, save, show, etc. The most important thing is the 7

functions present in theImage module has the same names as the operations to be performed on that image. For using this module, first initialize the following things: ≫ import PIL ≫ from PIL import Image Following are some basic functions present in Image module: 1) Open: open function open the mentioned image in a code. Following is the syntax for open image: ≫ Image.open(filename) In the filename, mention the image name which you want to open. The image must be stored in a folder where the Python code file is present, otherwise give the path of the image at the filename mentioned in above syntax. Example: ≫ im=Image.open(’a.jpg’)

Fig. 23.

Fig. 24.

Show image

≫ im.save() Write the name of image and extension as per user requirement in above syntax. Example: ≫ im.save(’flower.png’) As written in above example the image is save as ”flower.png”. 4) Copy: This method returns the copy of the original image. Following is the syntax for copying image: ≫ im.copy() im is the object name given to the image, so just call that object in above syntax for copying image. Example: ≫ a=im.copy()

Open image

2) Show: This function is used for displaying image. Following is the syntax for showing image: ≫ im.show() As written in above syntax im is the object given to an image that user wants to show. Example: ≫ im.show()

Fig. 25.

3) Save: This method saves an image with given filename with given extension. Following is the syntax for saving image: 8

Copy of the original image

5) Creating new image: This method creates new image with given mode, size and color. Image mode can be RGB, Grayscale, etc. Size is represented as (width,Height) and color will be a name of color like black, white, pink, etc. Following is the syntax for creating new image: ≫ Image.new(mode, size, color) Example: ≫ i=Image.new("RGB",(512,512),"pink")

Fig. 27.

Resized image with size(128,128)

7) Rotate: This method returns a copy of an image in clockwise or anticlockwise direction with given degree/angle. Syntax: ≫ im.rotate(angle) Write the degree of angle at angle mentioned in above syntax. ≫ output=im.rotate(45) Fig. 26.

New image with ”pink” color and size(512,512)

6) Resize: It will return given image with new size. Syntax: ≫ im.resize(size) Write width and height of image at size mentioned in above syntax. Example: ≫ output=im.resize((128,128)) Fig. 28.

9

Rotated image with 45 degree angle

8) Transpose: This method will return the rotated copy of the original image. This method can only be used for the following predefined rotations: FLIP_LEFT_RIGHT, FLIP_TOP_BOTTOM, ROTATE_90, ROTATE_180, or ROTATE_270 Syntax: ≫ im.transpose(method) Mention the rotation type at method written in syntax. Example: ≫o=im.transpose(Image.FLIP_TOP_BOTTOM).show()

Fig. 30.

converted image into grayscale mode

10) Crop: This method returns the part of an image or copy of rectangular region of original image. Rectangular region will have four parameters like left,upper,right,lower pixel coordinates. Following is the syntax for cropping image: im.crop(box) The box has four parameters which define the left, upper, right, and lower pixel coordinates. Example: ≫ b=(60,60,600,650) ≫ im.crop(b).show() Fig. 29.

Transposed image with ”flip top bottom” rotation

9) Convert: This method is used to convert an image into another mode and it will return new image with that mode. There are different modes like ’L’ for grayscale image, ’RGB’ for colored image. Following is the syntax for converting an image into another mode: ≫ im.convert(mode) As mentioned in the above syntax declare mode like ’RGB’, ’L’, etc. in round braces. Example: ≫ im.convert(’L’).show()

Fig. 31.

10

Cropped image with given size

≫ ImageEnhance.Brightness(image) Write Brightness enhancer instance at image written in syntax. Example: ≫ enhancement=ImageEnhance.Brightness(im) ≫ enhancement.enhance(1.9).show()

11) Split and merge: The split method returns individual image bands from an image. For example, splitting an RGB image creates three new images with individual red, green, blue band. Following is the syntax for splitting image: ≫ im.split() merge function creates a new image from a number of different bands present in an image. Following is the syntax for merging image: ≫ Image.merge(mode, bands) Example: ≫ r,g,b=im.split() ≫ i=Image.merge("RGB",(b,g,r))

Fig. 33.

Fig. 32.

Improved brightness of original image

2) sharpness: The sharpness enhancement class is used to improve the sharpness of an image as per user requirement. Following is the syntax for improving sharpness of image: ≫ ImageEnhance.Sharpness(image) Write sharpness enhancer instance at image present in above syntax. Example: ≫ sharp=ImageEnhance.Sharpness(im) ≫ sharp.enhance(6.9).show()

Split and merged image

B. ImageEnhance

The ImageEnhance module contains a number of classes that can be used for image enhancement. For using this module it is important to import this module as follow: ≫ import ImageEnhance All enhancement classes having a single common method as follow: ≫ ImageEnhanceenhancer.enhance(factor) This method returns an image with given enhancement. The factor is a floating point value which improves the enhancement. Following are some classes present in ImageEnhance: 1) Brightness: This method is used to improve the brightness of an image. Following is the syntax for improving the brightness of an image: 11

Fig. 34.

Sharpened image with value 6.9

3) Contrast: The contrast enhancement class is used to control the contrast of an image. Following is the syntax for contrasting image: ≫ ImageEnhance.Contrast(image) Write contrast enhancer instance at image present in above syntax. Example: ≫ enhancement=ImageEnhance. Contrast(im) ≫ enhancement.enhance(6.9).show()

Fig. 35.

options) Draws the string at the given position. The position gives the upper left corner of the text [14]. ≫ ImageFont.truetype(file, size) This function loads a font object from the given file, and creates a font object for a font of the given size [14]. Example: ≫ font=ImageFont.truetype("arial.ttf",300) ≫ img=Image.open("a.jpg") ≫ draw = ImageDraw.Draw(img) ≫ draw.text((150, 200),"HELLO",(255,255,0),font=font)

Contrasted image with value 6.9

C. ImageDraw ImageDraw module is used to edit an image and create new images as per requirement. For using this module first import this module as follows: ≫ from PIL import ImageDraw Following are some methods present in ImageDraw module: 1) Adding text on image: For adding text on image it is necessary to import ImageFont module with ImageDraw module. The ImageFont module store different types of fonts, and are used with the text method of the ImageDraw class. For using this module import this module as follows: ≫ from PIL import ImageFont Folowing is the syntax for adding text on image: ≫ Draw(image) Creates an object that can be used to draw in the given image [14] as shown in above syntax. ≫ draw.text(position, string,

Fig. 36.

Adding text as ”HELLO” on image

2) Adding lines on image: ImageDraw module provides line method for drawing line. Following is the syntax for adding line on image: ≫ draw.line(xy, options) Example: ≫ draw=ImageDraw.Draw(im) ≫ draw.line((0,0)+im.size,fill="white") ≫ draw.line((0,im.size[1],im.size[0],0), fill="white")

12

≫ from PIL import ImageOps Following are some methods present in ImageOps module: 1) Adding Border on image: Add border pixels of border to the image, at all four edges.

Fig. 37.

Following is the syntax for adding border on image: ≫ ImageOps.expand(image, border=0, fill=0) Write image object, value of how much border user wants and colour in the form of name of color or pixel value in above syntax. Example: ≫ e=ImageOps.expand(im,border=80, fill="black").show()

Lines on image

3) Adding rectangle on image: The rectangle method present in ImageDraw module is used to create rectangle on image. Following is the syntax for adding rectangle on image: ≫ draw.rectangle(box, options) at box mentioned in syntax write pixel coordinate values. Example: ≫ box=([50,550,900,60]) ≫ draw.rectangle(box)

Fig. 39.

Fig. 38.

Borderd image with ”Black” color

2) Flip: This methos is used to flip the image vertically(top to bottom). Following is the syntax for flipping image: ≫ ImageOps.flip(image) image represents object of the original image in above syntax. Example: ≫ o=ImageOps.flip(im).show()

Rectangle on image

D. ImageOps The ImageOps module contains a number of ready-made image processing operations. For using this module import ImageOps module as follows: 13

Fig. 40.

Fig. 42.

Flipped image

5) Crop: This method removes border pixels from all four edges. Following is the syntax for cropying image: ≫ ImageOps.crop(image, border=0) Write value of border and object of original image in above syntax. Example: ≫ e=ImageOps.crop(im,border=250).show()

3) Mirror: This methos is used to flip the image horizontally(left to right). Following is the syntax for creating mirror of the image: ≫ ImageOps.mirror(image) image represents object of the original image in above syntax. Example: ≫ o=ImageOps.mirror(im).show()

Fig. 43. Fig. 41.

Grayscaled image

Cropped image with border value 250

Mirrored image

E. ImageChops

4) Grayscale image: This method will return the image with shades of gray. Following is the syntax of creating grayscale image: ≫ ImageOps.grayscale(image) image represents object of the original image in above syntax. ≫ o=ImageOps.grayscale(im).show()

The ImageChops module contains a number of arithmetical image operations, called channel operations (chops). These can be used for various purposes, including special effects, image compositions, algorithmic painting, and more [14]. For using this module it is necessary to import this module as 14

follows: ≫ from PIL import ImageChops 1) Invert: This method inverts the colours of an image. Following is the syntax for inverting an image: ≫ ImageChops.invert(image) image represents the object of an original image in the above syntax. Example: ≫ e=ImageChops.invert(im).show()

2) Image filter DETAIL: DETAIL is the predefined filter present in ImageFilter module which filters the image. Following is the example of DETAIL filter: ≫ o=im.filter(ImageFilter.DETAIL) .show()

Fig. 45. filtered image with predefined filter named as DETAIL

Fig. 44.

3) Blur: By using this blur filter, image will become unclear or less distinct. Following is the example of BLUR filter: ≫ o=im.filter(ImageFilter.BLUR) .show()

Inverted image

F. ImageFilter The ImageFilter module contains predefined set of filters, which can be be used with the filter method of the Image module. For using ImageFilter module it is necessary to import this module as follows: ≫ from PIL import ImageFilter Following are some filters present in ImageFilter module: 1) Filters: This method returns the new image filtered by mentioned filter. There are BLUR, MinFilter, CONTOUR, DETAIL, EMBOSS, SHARPEN, and many more predefined filters present in this module. Following is the syntax for applying predefined filters on image: ≫ im.filter(ImageFilter.filtertype) Write predefined filter name as per user requirement at filtertype mentioned in above syntax. 15

Fig. 46.

Blurred image

ACKNOWLEDGMENT

G. Edge detection

We feel a great pleasure to thank all the individuals who have prominently contributed to the success of our research paper. We would like to thank our principal Dr. Sanjay Pawar, Usha Mittal Institute of Technology, S.N.D.T Women’s University for constantly motivating us to learn and incorporate something new in our research paper, so that beginners would find it easy to learn and understand the Python and Image Processing. Also, we would like to thank our well wishers for their consistent help and support in the completion of our research paper. We would like to thank our friends too, for their help and guidance for the improvements in our research paper.

This method is used to detect the edges from an image. Following is the syntax for detecting edges of an image: ≫ o = detectet_rgb_edges(image) Write the object of an image at image mentioned in above syntax. Example: ≫ o = detectet_rgb_edges(im)

R EFERENCES

Fig. 47.

[1] Mike Mcgrath, Programming In Easy Steps Python , 1st ed. McGraw Hill Education (India) Private Limited, 7 October 2013. [2] J. K. Aggarwal, R. O. Duda and A. Rosenfeld, Computer Methods in Image Analysis, IEEE Press, New York, 1977. [3] H. C. Andrews, with W. K. Pratt and K. Caspari (Contributors), Computer Techniques in Image Processing , Academic Press, New York, 1970. [4] Rafael C. Gonzalez, Digital Image Processing , 3rd ed. 2008 by Pearson Education, Inc. [5] K.R. Nambiar, LASERS Principles, Types and Applications , 3rd ed. New Age International Publishers, New Delhi, 2004. [6] D.K.Theckedath, Image Processing Using MATLAB Codes, 4th ed. Nandu Publications, 2009. [7] K.R.Castleman, Digital Image Processing , 3rd ed. Prentice Hall, Upper Saddle River, NJ, 1996. [8] R. Chellappa and A. A. Sawchuk, Digital Image Processing and Analysis, Vol. 1, Digital Image Processing , IEEE Press, New York, 1985. [9] Zed Shaw, Learn Python the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code, 3.9/5Goodreads,September 19, 2013. [10] Mark Lutz, David Ascher, Learning Python, 1st ed. O’Reilly Media, 1999. [11] https://en.wikipedia.org/wiki/Dynamic programming [12] http://stackoverflow.com/questions/20563433/differentbetween-static-and-dynamic-programming-languages [13] http://stackoverflow.com/questions/2351190/staticdynamic-vs-strong-weak [14] http://effbot.org/imagingbook/ [15] http//faraday.ee.emu.edu.tr/ee583/Lectures/EE20583- Lecture01.pdf.

Edge Detected for input image

IV. C ONCLUSION In this technologically advanced world, it has become necessary for the beginners in Python and image processing to learn and understand the things very clearly, so that they could be applied and used in the future. Hence, we have performed the Image processing tasks in Python programmimg language, so that it becomes easy to all to understand the concepts related to it. This paper also provides the use of Python Image Library (PIL), using which we can prominently develop the Python based image processing software and can be useful for number of applications like remote sensing, agriculture, space center, satellites, medical and health sciences, etc. Thus, it can be concluded that Python and Image processing proves to be the better combination for learning, developing and understanding the capabilities provided in it. 16

View more...

Comments

Copyright © 2017 DATENPDF Inc.