Digital Image Processing - Using Scilab Pdf
Creative Commons Attribution 4.0 International (CC BY 4.0) Last updated: 2025
// Threshold to create binary image binary = gray_img > 128; // Structuring element (disk of radius 3) se = [0 1 0; 1 1 1; 0 1 0];
Article ID: DIP-SCILAB-01 Target Audience: Engineering students, researchers, hobbyists Software Required: Scilab 6.1+ with SIVP (Scilab Image and Video Processing) toolbox 1. Introduction Digital Image Processing (DIP) involves manipulating digital images using computer algorithms. While MATLAB is the industry standard, Scilab —a free, open-source alternative—provides powerful capabilities for DIP through its SIVP (Scilab Image and Video Processing) toolbox and core functions. digital image processing using scilab pdf
median_filtered = medfilt2(gray_img, [3 3]); // Create Gaussian kernel (approx) gaussian_kernel = [1 2 1; 2 4 2; 1 2 1] / 16; gaussian_filtered = imfilter(gray_img, gaussian_kernel); 6. Edge Detection 6.1 Sobel Operator // Sobel kernels sobel_x = [-1 0 1; -2 0 2; -1 0 1]; sobel_y = [-1 -2 -1; 0 0 0; 1 2 1]; Gx = imfilter(double(gray_img), sobel_x); Gy = imfilter(double(gray_img), sobel_y);
// Get image dimensions (rows, cols, channels) size(img) gray_img = rgb2gray(img); imshow(gray_img); 3.3 Access and Modify Pixels // Access pixel at row 100, column 150 pixel = img(100, 150, :); // Set a region of interest to black img(50:100, 50:100, :) = 0; 4. Image Enhancement 4.1 Histogram Equalization Improves contrast by spreading intensity values. Creative Commons Attribution 4
// 3. Denoise with median filter img = medfilt2(img, [3 3]);
// Erosion eroded = imerode(binary, se); // Erosion eroded = imerode(binary
// Install SIVP from ATOMS (Scilab’s package manager) atomsInstall("SIVP") // Restart Scilab after installation // Load the toolbox exec("SCI/modules/sivp/macros/sivp_loader.sce", -1) Alternatively, use core functions ( imread , imshow , imwrite ) available in recent Scilab versions. 3.1 Read, Display, and Write Images // Read an image img = imread('camera.jpg'); // Display image imshow(img);