Image & Video Processing using Scilab
Download
Report
Transcript Image & Video Processing using Scilab
IMAGE PROCESSING
USING SCILAB
Rajesh B. Raut
Associate Professor, Dept. of E&C
Shri Ramdeobaba K.N. Engg. College, Nagpur
[email protected]
INSTALLING SIVP TOOLBOX
Toolboxes:
SIP (Scilab Image Processing), SIVP (Scilab
Image & Video Processing)
Tool we discuss: SIVP
Installation in Windows :
(XP sp3 onwards. Windows 7 is recommended)SIVP through atoms (5.3 onwards)
atomsInstall SIVP
INSTALLING SIVP……
After atomsInstall SIVP, do the proxy settings
Use help proxy command to see the proxy
settings
Eg.
atomsSetConfig (useProxy, “True/False”)
atomsSetConfig (ProxyHost, “DNS/IP Address”)
atomsSetConfig (ProxyPort, “Port Address”)
Set the user name & password for proxy, if any.
DIGITAL IMAGE
Image is a 2D matrix
can be:
Gray scale (M x N, M- rows and N-columns)
Color image (M x N x 3)
BASIC FUNCTIONS:
IMREAD/IMSHOW/IMWRITE
imread
output image= imread(‘input image’)
imshow
imshow(output image)
imwrite
output=imwrite(input image, ‘output image
name’)
INFORMATION OF THE IMAGE
imfinfo- Get the information about image file
info = imfinfo(filename)
Eg: info=imfinfo(‘baboon.png’)
returns the information: filename filesize, width,
height bitdepth, etc.
fileinfo- also provides the information about
image file
SCILAB SUPPORTING THE DATATYPES
int8
int16
int32
uint8
uint16
double
DATATYPE CONVERSION
im2int8- Convert image to 8-bit signed integers
im2int16
im2int32
im2uint8
im2uint16
im2double
u- unsigned
double - double precision
IMAGE TYPE & ITS CONVERSION IN SCILAB
rgb2gray
Im2bw
ind2rgb
rgb2hsv
hsv2rgb
rgb2ycbcr
ycbcr2rgb
eg.
bwlena=im2bw(‘lena.bmp’, 0.5)
0.5 (threshold) : specify threshold in the range [0,1], regardless of the class of
the input image.
BASIC OPERATIONS
Complement
outputimage = imcomplement(inputimage)
Resize
outputimage = imresize(inputimage, multi.
factor, ‘resizing algo’)
resizing algo. can be ’nearest’, ’bilinear’,
’bicubic’ or ’area’
Crop
outputimage=imcrop(inputimage, [Xcoord Ycoord
SizeX SizeY])
RESULTS: COMPLEMENT
Original
Complement
RESULTS: CROP
lenacrop = imcrop(lena [200, 200, 200, 200]);
Original
Cropped
RESULTS: RESIZE
Original
Resized by 2
OTHER MOSTLY USED FUNCTIONS
imadd: Add two images or add a constant to an
image
imsubtract
imdivide
Imabsdiff
mean2: Average or mean of matrix elements
std2: Standard deviation of 2D matrix elements
2- 2D matrix elements
OTHER IMPORTANT FUNCTION
imhist
[counts, cells] = imhist(im)
[counts, cells] = imhist(im, bins)
Counts- the returned histogram.
Cells- the intervals for bins.
Bins- The number of bins of the histogram.
If bins is not specified, default value will be used by the function
& is determined by the image type:
2 for Boolean, 2^8 for uint8 and int8, 2^16 for uint16 and
int16, 2^16 for int32, and 10 for double.
COLOR IMAGE HISTOGRAM
manifests an important global statistics of digital
images
Function available for histogram of gray images,
it can be applied directly for color images as a
combination of 3 independent gray images in
terms of R, G and B.
It can not incorporate the correlation between R,
G and B channels.
Solution: table structure (colors and their
population)
NOISE FUNCTIONS
Types
Gaussian- additive noise
Salt & Pepper- black/white noise
Speckle- multiplicative noise
Localvar- Pixel-specific variance (Zero-mean Gaussian)
Function: imnoise
Outputimage=imnoise(inputimage, ‘noisetype)
e.g. lenaNoised=imnoise(lena,’gaussian’)
IMAGES WITH VARIOUS TYPES OF NOISE
Original
Salt & pepper
Gaussian
Speckle
IMAGE FILTERING USING ‘FSPECIAL’
High Pass filter- used for
sobel
prewitt
laplacian
F = fspecial(sobel);
Low Pass filter- used for blurring
gaussian
Log
average
HIGH PASS FILTERING & THRESHOLDINGEDGE DETECTION
Kernel usedSobel
Prewitt
Log
canny
TOPICS TO BE EXPLORED
FFT
Wavelets
Radon Transform
Hough Transform
TO CONCLUDE….
Scilab/SIVP is a very powerful numerical
computational tool, it also has number of readyto-use functions for processing an image/2D
matrix elements and hence Image Processing
operation can be performed with equal ease on
Scilab.
for any help on IP using SIVP, pl. feel free to contact:
[email protected]