This document describes an exercise involving halftoning and color transfer techniques. For part 1, students are asked to implement ordered dithering and error diffusion to generate halftoned images from an input image. For part 2, students must find an affine mapping between the color spaces of two images to transfer colors from one image to the other. The program should take input filenames as parameters and output halftoned or color-transferred images. General guidelines and important remarks are provided on programming, documentation, and submission requirements.
This is the first part of the presentation series on one of the powerful open sources libraries, the opencv. this presentation is about the introduction, installation, some basic functions on images and some basic image processing on the images
This is the first part of the presentation series on one of the powerful open sources libraries, the opencv. this presentation is about the introduction, installation, some basic functions on images and some basic image processing on the images
Usage of version control systems (VCS) such as Git, which is an established software engineering practice, is challenging for machine learning (ML) projects. Artifacts produced by ML pipelines, such as datasets, pre-processed data, trained models, are often large in size. Once generated, they have to be stored on a disk since reproducing them over and over is expensive. Unfortunately, traditional VCSs have restrictions on handling such large artifacts. Not using version control instead makes reproducibility of results unreliable.
DVC (Data Version Control) not only version-controls large artifacts but also keeps track of the commands that are run to produce them. It detects changes made to the input data and knows which steps in the pipeline have to be rerun to keep the final result up-to-date. By adopting DVC machine learning community can make a big step towards the reproducibility of research.
1 of 6 LAB 5 IMAGE FILTERING ECE180 Introduction to.docxmercysuttle
1 of 6
LAB 5: IMAGE FILTERING
ECE180: Introduction to Signal Processing
OVERVIEW
You have recently learned about the convolution sum that serves as the basis of the FIR filter difference equation. The filter
coefficient sequence {𝑏𝑘} – equivalent to the filter’s impulse response ℎ[𝑛] – may be viewed as a one-dimensional moving
window that slides over the input signal 𝑥[𝑛] to compute the output signal 𝑦[𝑛] at each time step. Extending the moving
window concept to a 2-D array that slides over an image pixel array provides a useful and popular way to filter an image.
In this lab project you will implement two types of moving-window image filters, one based on convolution and the other
based on the median value of the pixel grayscale values spanned by the window. You will also gain experience with the
built-in image convolution filter imfilter.
OUTLINE
1. Develop and test a 33 median filter
2. Develop and test a 33 convolution filter
3. Evaluate the median and convolution filters to reduce noise while preserving edges
4. Study the behavior of various 33 convolution filter kernels for smoothing, edge detection, and sharpening
5. Learn how to use imfilter to convolution-filter color images, and study the various mechanisms offered by
imfilter to deal with boundary effects
PREPARATION – TO BE COMPLETED BEFORE LAB
Study these tutorial videos:
1. Nested “for” loops -- http://youtu.be/q2xfz8mOuSI?t=1m8s (review this part)
2. Functions -- http://youtu.be/0zTmMIh6I8A (review as needed)
Ensure that you have added the ECE180 DFS folders to your MATLAB path, especially the “images” and “matlab” subfolders.
Follow along with the tutorial video http://youtu.be/MEqUd0dJNBA, if necessary.
LAB ACTIVITIES
1. Develop and test a 33 median filter function:
1.1. Implement the following algorithm as the function med3x3:
TIP: First implement and debug the algorithm as a script and then convert it to a function as a final step. Use any
of the smaller grayscale images from the ECE180 “images” folder as you develop the function, or use the test
image X described in the Step 1.2.
(a) Create the function template and save it to an .m file with the same name as the function,
(b) Accept a grayscale image x as the function input,
http://youtu.be/q2xfz8mOuSI?t=1m8s
http://youtu.be/0zTmMIh6I8A
http://youtu.be/MEqUd0dJNBA
2 of 6
(c) Copy x to the output image y and then initialize y(:) to zero; this technique creates y as the same size and
data type as x,
(d) Determine the number of image rows and columns (see size),
(e) Loop over all pixels in image x (subject to boundary limits):
Extract a 33 neighborhood (subarray) about the current pixel,
Flatten the 2-D array to a 1-D array,
Sort the 1-D array values (see sort),
Assign the middle value of the sorted array to the current output pixel, and
(f) Return the median-filtered image y.
1.2. Enter load lab_5_verify to load the
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Usage of version control systems (VCS) such as Git, which is an established software engineering practice, is challenging for machine learning (ML) projects. Artifacts produced by ML pipelines, such as datasets, pre-processed data, trained models, are often large in size. Once generated, they have to be stored on a disk since reproducing them over and over is expensive. Unfortunately, traditional VCSs have restrictions on handling such large artifacts. Not using version control instead makes reproducibility of results unreliable.
DVC (Data Version Control) not only version-controls large artifacts but also keeps track of the commands that are run to produce them. It detects changes made to the input data and knows which steps in the pipeline have to be rerun to keep the final result up-to-date. By adopting DVC machine learning community can make a big step towards the reproducibility of research.
1 of 6 LAB 5 IMAGE FILTERING ECE180 Introduction to.docxmercysuttle
1 of 6
LAB 5: IMAGE FILTERING
ECE180: Introduction to Signal Processing
OVERVIEW
You have recently learned about the convolution sum that serves as the basis of the FIR filter difference equation. The filter
coefficient sequence {𝑏𝑘} – equivalent to the filter’s impulse response ℎ[𝑛] – may be viewed as a one-dimensional moving
window that slides over the input signal 𝑥[𝑛] to compute the output signal 𝑦[𝑛] at each time step. Extending the moving
window concept to a 2-D array that slides over an image pixel array provides a useful and popular way to filter an image.
In this lab project you will implement two types of moving-window image filters, one based on convolution and the other
based on the median value of the pixel grayscale values spanned by the window. You will also gain experience with the
built-in image convolution filter imfilter.
OUTLINE
1. Develop and test a 33 median filter
2. Develop and test a 33 convolution filter
3. Evaluate the median and convolution filters to reduce noise while preserving edges
4. Study the behavior of various 33 convolution filter kernels for smoothing, edge detection, and sharpening
5. Learn how to use imfilter to convolution-filter color images, and study the various mechanisms offered by
imfilter to deal with boundary effects
PREPARATION – TO BE COMPLETED BEFORE LAB
Study these tutorial videos:
1. Nested “for” loops -- http://youtu.be/q2xfz8mOuSI?t=1m8s (review this part)
2. Functions -- http://youtu.be/0zTmMIh6I8A (review as needed)
Ensure that you have added the ECE180 DFS folders to your MATLAB path, especially the “images” and “matlab” subfolders.
Follow along with the tutorial video http://youtu.be/MEqUd0dJNBA, if necessary.
LAB ACTIVITIES
1. Develop and test a 33 median filter function:
1.1. Implement the following algorithm as the function med3x3:
TIP: First implement and debug the algorithm as a script and then convert it to a function as a final step. Use any
of the smaller grayscale images from the ECE180 “images” folder as you develop the function, or use the test
image X described in the Step 1.2.
(a) Create the function template and save it to an .m file with the same name as the function,
(b) Accept a grayscale image x as the function input,
http://youtu.be/q2xfz8mOuSI?t=1m8s
http://youtu.be/0zTmMIh6I8A
http://youtu.be/MEqUd0dJNBA
2 of 6
(c) Copy x to the output image y and then initialize y(:) to zero; this technique creates y as the same size and
data type as x,
(d) Determine the number of image rows and columns (see size),
(e) Loop over all pixels in image x (subject to boundary limits):
Extract a 33 neighborhood (subarray) about the current pixel,
Flatten the 2-D array to a 1-D array,
Sort the 1-D array values (see sort),
Assign the middle value of the sorted array to the current output pixel, and
(f) Return the median-filtered image y.
1.2. Enter load lab_5_verify to load the
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
Normal Labour/ Stages of Labour/ Mechanism of LabourWasim Ak
Normal labor is also termed spontaneous labor, defined as the natural physiological process through which the fetus, placenta, and membranes are expelled from the uterus through the birth canal at term (37 to 42 weeks
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
3. General DescriptionGeneral Description
The purpose of this part of the exercise isThe purpose of this part of the exercise is
to generate half tone images with twoto generate half tone images with two
techniques:techniques:
i.i. Ordered Dithering.Ordered Dithering.
ii.ii. Error Distribution.Error Distribution.
7. Program UsageProgram Usage
The program should be namedThe program should be named
““halftoning.exehalftoning.exe”.”.
The programs gets from theThe programs gets from the command linecommand line
TWOTWO parameters:parameters:
1.1. OptionOption –d–d oror –e–e
2.2. Input filenameInput filename
8. Program UsageProgram Usage
The program generates one output imageThe program generates one output image
• dither_<input_name>dither_<input_name> ((-d-d option)option)
• errdiff_<input_name>errdiff_<input_name> ((-e-e option)option)
10. General DescriptionGeneral Description
The purpose of this part is to implement aThe purpose of this part is to implement a
simple algorithm that transfers the colorssimple algorithm that transfers the colors
of one image onto another image.of one image onto another image.
12. The algorithmThe algorithm
You will find an affine mapping (Matrix +You will find an affine mapping (Matrix +
translation) between thetranslation) between the colorcolor spaces of the twospaces of the two
images.images.
For every pixelFor every pixel ii of the first image, you take itsof the first image, you take its
colorcolor ppii = (= (rrii, g, gii, b, bii)), and apply the mapping M., and apply the mapping M.
You obtain the new color for pixelYou obtain the new color for pixel ii::
( )M A= +p p t
( )i iM′ =p p
14. Mapping by PCAMapping by PCA
R
B
G
R
B
G
Find the axes by PCAFind the axes by PCA
Compute the oriented bounding boxesCompute the oriented bounding boxes
DefineDefine MM as the affine mapping between those boxes!as the affine mapping between those boxes!
15. Program UsageProgram Usage
The program should be namedThe program should be named
““ColorTransfer.exeColorTransfer.exe”.”.
The programs gets from theThe programs gets from the command linecommand line
TWOTWO parameters:parameters:
1.1. First input filename (the one to map theFirst input filename (the one to map the
colors onto)colors onto)
2.2. Second input filename (the one to takeSecond input filename (the one to take
the colors from)the colors from)
16. Program UsageProgram Usage
The program generates one output imageThe program generates one output image
res_<input_name_1>res_<input_name_1>
18. Important RemarksImportant Remarks
You should write the programs in C or C+You should write the programs in C or C+
+.+.
Document your program thoroughly.Document your program thoroughly.
In this assignment there isIn this assignment there is nono need toneed to
open a window or use OpenGL in anyopen a window or use OpenGL in any
way.way.
19. Important RemarksImportant Remarks
The work can be done in pairs.The work can be done in pairs.
Submit your work on diskettes (or CD’s).Submit your work on diskettes (or CD’s).
Hardcopy of the documentation.Hardcopy of the documentation.
Points will be rewarded for nice andPoints will be rewarded for nice and
original images.original images.
20. More Important RemarksMore Important Remarks
Don't forget to check the number ofDon't forget to check the number of
parameters that your program receives.parameters that your program receives.
Don't forget to check memory allocations,Don't forget to check memory allocations,
if they succeeded or failed.if they succeeded or failed.
Pay attention to the difference betweenPay attention to the difference between
bytes, int’s and float’s (Rounding error).bytes, int’s and float’s (Rounding error).
Pay attention to the borders of the image.Pay attention to the borders of the image.
21. A Little HelpA Little Help
IrfanView – An image viewer, editor.IrfanView – An image viewer, editor.
FreeImage – A open source library forFreeImage – A open source library for
working with images.working with images.
NewMat10 – matrix and linear algebraNewMat10 – matrix and linear algebra
librarylibrary
See the links on the exercise webpageSee the links on the exercise webpage