SlideShare a Scribd company logo
MS works in computer science in
the Open University.
Efficient realization for geometric
transformation of digital images in
run length encoding.
By Shlomo Pongratz.
Instructor: Dr Jack Weinstein.
Seven by six pixels digital image
of the letter A.
0 0 0 0 0 0 6(0)
0 0 1 0 0 0 2(0)1(1)3(0)
0 1 0 1 0 0 1(0)1(1)1(0)1(1)2(0)
0 1 0 1 0 0 1(0)1(1)1(0)1(1)2(0)
0 1 1 1 0 0 1(0)3(1)2(0)
0 1 0 1 0 0 1(0)1(1)1(0)1(1)2(0)
0 0 0 0 0 0 6(0)
Image serialization.
• height=6,width=7,6(0)2(0)1(1)3(0)1(0)1(1
)1(0)2(0)1(0)1(1)1(0)2(0)1(0)3(1)2(0)1(0)
1(1)1(0)2(0)6(0).
Create directory is linear
offset = 0;
for (line = 0; line < hight; line++)
{
{
length = 0;
while (length < width)
{
length += run.getLength();
run.next();
offset++;
}
output(offset);
}
}
The Geometric Operations
OP Procedure
No op Copy source to destination row by row run by run.
Column flip Read input columns in reverse order.
Row flip Read input rows in reverse order.
Rotate 180° Do row flip and column flip.
Diagonal flip Swap rows with columns.
Rotate 90° (CCW) Do column flip and then diagonal flip.
Rotate 270° (CW) Do row flip and then diagonal flip.
Opposite diagonal flip Do 180° rotation and diagonal flip.
Rotate by 0° < α ≤ 45°
Rotate by 0° > α ≥ 45°
Rotate by any angle
The No Op operation.
The Columns flip operation.
• for (line = 0; line < height; i++)
• {
• start = directory[line];
• ends = directory[line + 1];
• // go backwards
• for (index = ends – 1; index >= start; index--)
• {
• output_run(image[index]);
• }
• }
The Rows flip operation.
• for (line = 0; line < height; line++)
• {
• start = directory[height - line - 1];
• ends = directory[height - line];
• // go forwards
• for (index = start; index < end; index++)
• {
• output_run(image[index]);
• }
• }
The Rotation by 180°
operation.
• for (line = 0; line < height; line++)
• {
• start = directory[height - line - 1];
• ends = directory[height - line];
• // go backwards
• for (index = ends – 1; index >= start; index--)
• {
• output_run(image[index]);
• }
• }
The Diagonal Flip operation.
• Merging process
• For each line sequence runi={leni,colouri}
• Create ordered list {Σi
j=0 lenj,colouri}
• Use regular merging algorithm
• Compare colours while merging.
Same colour runs
Different colour runs
States in merge
1 0 3 2 1 1 1 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 1 0 0
2 0 0 1 1 1 1 1 0 0
3 0 0 0 1 1 1 0 0 0
4 0 0 0 0 1 1 0 0 0
5 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8
1 0 3 4 1 1 1 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 1 0 0
2 0 0 1 1 1 1 1 0 0
3 0 0 0 1 1 1 0 0 0
4 0 0 0 0 1 1 0 0 0
5 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8
Source to destination problem
• for (I= 0; I < 10; I++)
• {
– for (J = 0; J< 10; J++)
– {
• map pixel at [I,J] to
• [round(I * cos(30) – J*sin(30)) , round(I*sin(30) + J * cos(30))
}
• }
(0:0) (0:1) (0:2) (0:3) (-1:3) (-1:4) (-2:5) (-2:6) (-3:7) (-3:8)
(1:1) (0:1) (0:2) (0:3) (0:4) (-1:5) (-1:6) (-2:7) (-2:7) (-3:8)
(2:1) (1:2) (1:3) (0:4) (0:4) (0:5) (0:6) (-1:7) (-1:8) (-2:9)
(3:1) (2:2) (2:3) (1:4) (1:5) (0:6) (0:7) (0:8) (0:8) (-1:9)
(3:2) (3:3) (2:4) (2:5) (1:5) (1:6) (0:7) (0:8) (0:9) (0:10)
(4:2) (4:3) (3:4) (3:5) (2:6) (2:7) (1:8) (1:9) (0:9) (0:10)
(5:3) (5:4) (4:5) (4:6) (3:6) (3:7) (2:8) (2:9) (1:10) (1:11)
(6:3) (6:4) (5:5) (5:6) (4:7) (4:8) (3:9) (3:10) (2:10) (2:11)
(7:4) (6:5) (6:6) (5:7) (5:7) (4:8) (4:9) (3:10) (3:11) (2:12)
(8:4) (7:5) (7:6) (6:7) (6:8) (5:9) (5:10) (4:11) (4:11) (3:12)
Tanaka et-al algorithm








−














−
=




 −
10
2
tan1
*
1sin
01
*
10
2
tan1
cossin
sincos a
a
a
aa
aa
Eliminate Vertical sheer.





 −





 −






−
=





01
10
*
10
sin1
*
01
10
1sin
01 a
a
Combining it all together
What’s wrong
Not linear in the worst case
One pass algorithm
1 1 1 1 1
0 0 0 1 1 0 0 0 0 0
1 1 1 1 1 1 1 1 0 0
0 0 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 1 1 1
0 0 0 0 0
1st
case
2nd
case
3rd
case
4th
case
5th
case
6th
case
7th
case
1st
case
2nd
case
3rd
case
4th
case
5th
case
Cohen algorithm
What’s wrong





 −
≅





−
−
=




 −






θθ
θθ
θθ
θθ
θ cossin
sincos
tan1tan
tan1
10
tan1
*
1tan
01
2
Fixing Cohen's algorithm





 −
=




 −
∗





∗





θθ
θθθ
θ
θ
θ cossin
sincos
10
tan1
sec0
0sin
1tan
01
Note – non reversible

More Related Content

What's hot

[Question Paper] Quantitative Technology (Revised Course) [October / 2016]
[Question Paper] Quantitative Technology (Revised Course) [October / 2016][Question Paper] Quantitative Technology (Revised Course) [October / 2016]
[Question Paper] Quantitative Technology (Revised Course) [October / 2016]
Mumbai B.Sc.IT Study
 
Tabela completa de derivadas e integrais
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integrais
Diego Rodrigues Vaz
 
Laws of Exponent
Laws of ExponentLaws of Exponent
Laws of Exponent
JonathanSantos232
 
러닝머신 말고 머신러닝
러닝머신 말고 머신러닝러닝머신 말고 머신러닝
러닝머신 말고 머신러닝
Ji Gwang Kim
 
Aptitude 30 questions paper
Aptitude         30 questions paperAptitude         30 questions paper
Aptitude 30 questions paper
puneet8589
 
Inkjet Printers Linearization Using 3D Gradation Curves
Inkjet Printers Linearization Using 3D Gradation CurvesInkjet Printers Linearization Using 3D Gradation Curves
Inkjet Printers Linearization Using 3D Gradation Curves
atsidaev
 
Visualising Big Data
Visualising Big DataVisualising Big Data
Visualising Big Data
Amit Kapoor
 
Graphing Functions and Their Transformations
Graphing Functions and Their TransformationsGraphing Functions and Their Transformations
Graphing Functions and Their Transformationszacho1c
 
Columnstore
ColumnstoreColumnstore
Columnstore
George Tavares
 
Visualising Multi Dimensional Data
Visualising Multi Dimensional DataVisualising Multi Dimensional Data
Visualising Multi Dimensional Data
Amit Kapoor
 
Systems of Counting
Systems of CountingSystems of Counting
Systems of Counting
adil raja
 
Tools & Resources for Data Visualisation
Tools & Resources for Data VisualisationTools & Resources for Data Visualisation
Tools & Resources for Data Visualisation
Amit Kapoor
 
2Bytesprog2 course_2014_c9_graph
2Bytesprog2 course_2014_c9_graph2Bytesprog2 course_2014_c9_graph
2Bytesprog2 course_2014_c9_graph
kinan keshkeh
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
Happy Garg
 
Tabela derivadas-e-integrais
Tabela derivadas-e-integraisTabela derivadas-e-integrais
Tabela derivadas-e-integrais
mariasousagomes
 
Mcq ch 1_fsc_part1_nauman
Mcq ch 1_fsc_part1_naumanMcq ch 1_fsc_part1_nauman
Mcq ch 1_fsc_part1_naumanAzhar Khalid
 
C6 6.6
C6 6.6C6 6.6
C6 6.6
BGEsp1
 

What's hot (18)

[Question Paper] Quantitative Technology (Revised Course) [October / 2016]
[Question Paper] Quantitative Technology (Revised Course) [October / 2016][Question Paper] Quantitative Technology (Revised Course) [October / 2016]
[Question Paper] Quantitative Technology (Revised Course) [October / 2016]
 
Tabela completa de derivadas e integrais
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integrais
 
Laws of Exponent
Laws of ExponentLaws of Exponent
Laws of Exponent
 
Ch22 33
Ch22 33Ch22 33
Ch22 33
 
러닝머신 말고 머신러닝
러닝머신 말고 머신러닝러닝머신 말고 머신러닝
러닝머신 말고 머신러닝
 
Aptitude 30 questions paper
Aptitude         30 questions paperAptitude         30 questions paper
Aptitude 30 questions paper
 
Inkjet Printers Linearization Using 3D Gradation Curves
Inkjet Printers Linearization Using 3D Gradation CurvesInkjet Printers Linearization Using 3D Gradation Curves
Inkjet Printers Linearization Using 3D Gradation Curves
 
Visualising Big Data
Visualising Big DataVisualising Big Data
Visualising Big Data
 
Graphing Functions and Their Transformations
Graphing Functions and Their TransformationsGraphing Functions and Their Transformations
Graphing Functions and Their Transformations
 
Columnstore
ColumnstoreColumnstore
Columnstore
 
Visualising Multi Dimensional Data
Visualising Multi Dimensional DataVisualising Multi Dimensional Data
Visualising Multi Dimensional Data
 
Systems of Counting
Systems of CountingSystems of Counting
Systems of Counting
 
Tools & Resources for Data Visualisation
Tools & Resources for Data VisualisationTools & Resources for Data Visualisation
Tools & Resources for Data Visualisation
 
2Bytesprog2 course_2014_c9_graph
2Bytesprog2 course_2014_c9_graph2Bytesprog2 course_2014_c9_graph
2Bytesprog2 course_2014_c9_graph
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
 
Tabela derivadas-e-integrais
Tabela derivadas-e-integraisTabela derivadas-e-integrais
Tabela derivadas-e-integrais
 
Mcq ch 1_fsc_part1_nauman
Mcq ch 1_fsc_part1_naumanMcq ch 1_fsc_part1_nauman
Mcq ch 1_fsc_part1_nauman
 
C6 6.6
C6 6.6C6 6.6
C6 6.6
 

Viewers also liked

Holographic Payments
Holographic PaymentsHolographic Payments
Holographic Payments
Steven Cooper
 
Instituto educacion superior tecnologico copia
Instituto educacion superior tecnologico   copiaInstituto educacion superior tecnologico   copia
Instituto educacion superior tecnologico copiaMARIELA TOCARRRE PAU
 
E-Commerce Melbourne
E-Commerce Melbourne E-Commerce Melbourne
E-Commerce Melbourne
Steven Cooper
 
The PayPal Here symphony
The PayPal Here symphonyThe PayPal Here symphony
The PayPal Here symphony
Steven Cooper
 
IoT Commerce using Ruby, PHP and Arduino
IoT Commerce using Ruby, PHP and Arduino IoT Commerce using Ruby, PHP and Arduino
IoT Commerce using Ruby, PHP and Arduino
Steven Cooper
 
Time Travelling E-Commerce
Time Travelling E-CommerceTime Travelling E-Commerce
Time Travelling E-Commerce
Steven Cooper
 
Zero to Online Cafe in 20 minutes
Zero to Online Cafe in 20 minutes Zero to Online Cafe in 20 minutes
Zero to Online Cafe in 20 minutes
Steven Cooper
 
APIDays Sydney
APIDays SydneyAPIDays Sydney
APIDays Sydney
Steven Cooper
 
The Emergence of IoT and How its Reshaping How We Interact With The Digital W...
The Emergence of IoT and How its Reshaping How We Interact With The Digital W...The Emergence of IoT and How its Reshaping How We Interact With The Digital W...
The Emergence of IoT and How its Reshaping How We Interact With The Digital W...
Steven Cooper
 
Wordcamp Sydney 2014
Wordcamp Sydney 2014Wordcamp Sydney 2014
Wordcamp Sydney 2014
Steven Cooper
 
Android V.Zero
Android V.Zero Android V.Zero
Android V.Zero
Steven Cooper
 
Community-based Organizations in RFLDC, Noakhali: Towards Sustainability of t...
Community-based Organizations in RFLDC, Noakhali: Towards Sustainability of t...Community-based Organizations in RFLDC, Noakhali: Towards Sustainability of t...
Community-based Organizations in RFLDC, Noakhali: Towards Sustainability of t...
Rfldc Danida
 
RFLDC, Noakhali: Achievements and Challenges
RFLDC, Noakhali: Achievements and ChallengesRFLDC, Noakhali: Achievements and Challenges
RFLDC, Noakhali: Achievements and Challenges
Rfldc Danida
 
PHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHPPHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHP
Steven Cooper
 
Building the future as a full stack dev
Building the future as a full stack devBuilding the future as a full stack dev
Building the future as a full stack dev
Steven Cooper
 

Viewers also liked (19)

Trabajo nª 01
Trabajo nª  01Trabajo nª  01
Trabajo nª 01
 
Holographic Payments
Holographic PaymentsHolographic Payments
Holographic Payments
 
Examen de paint
Examen de paintExamen de paint
Examen de paint
 
Instituto educacion superior tecnologico copia
Instituto educacion superior tecnologico   copiaInstituto educacion superior tecnologico   copia
Instituto educacion superior tecnologico copia
 
E-Commerce Melbourne
E-Commerce Melbourne E-Commerce Melbourne
E-Commerce Melbourne
 
The PayPal Here symphony
The PayPal Here symphonyThe PayPal Here symphony
The PayPal Here symphony
 
IoT Commerce using Ruby, PHP and Arduino
IoT Commerce using Ruby, PHP and Arduino IoT Commerce using Ruby, PHP and Arduino
IoT Commerce using Ruby, PHP and Arduino
 
Time Travelling E-Commerce
Time Travelling E-CommerceTime Travelling E-Commerce
Time Travelling E-Commerce
 
Zero to Online Cafe in 20 minutes
Zero to Online Cafe in 20 minutes Zero to Online Cafe in 20 minutes
Zero to Online Cafe in 20 minutes
 
Microsoft power point 3
Microsoft power point    3Microsoft power point    3
Microsoft power point 3
 
APIDays Sydney
APIDays SydneyAPIDays Sydney
APIDays Sydney
 
The Emergence of IoT and How its Reshaping How We Interact With The Digital W...
The Emergence of IoT and How its Reshaping How We Interact With The Digital W...The Emergence of IoT and How its Reshaping How We Interact With The Digital W...
The Emergence of IoT and How its Reshaping How We Interact With The Digital W...
 
Wordcamp Sydney 2014
Wordcamp Sydney 2014Wordcamp Sydney 2014
Wordcamp Sydney 2014
 
Android V.Zero
Android V.Zero Android V.Zero
Android V.Zero
 
Examen de paint
Examen de paintExamen de paint
Examen de paint
 
Community-based Organizations in RFLDC, Noakhali: Towards Sustainability of t...
Community-based Organizations in RFLDC, Noakhali: Towards Sustainability of t...Community-based Organizations in RFLDC, Noakhali: Towards Sustainability of t...
Community-based Organizations in RFLDC, Noakhali: Towards Sustainability of t...
 
RFLDC, Noakhali: Achievements and Challenges
RFLDC, Noakhali: Achievements and ChallengesRFLDC, Noakhali: Achievements and Challenges
RFLDC, Noakhali: Achievements and Challenges
 
PHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHPPHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHP
 
Building the future as a full stack dev
Building the future as a full stack devBuilding the future as a full stack dev
Building the future as a full stack dev
 

Similar to Efficient realization for geometric transformation of digital images in run length encoding.

Computer Graphics Unit 1
Computer Graphics Unit 1Computer Graphics Unit 1
Computer Graphics Unit 1
aravindangc
 
Oct8 - 131 slid
Oct8 - 131 slidOct8 - 131 slid
Oct8 - 131 slid
Tak Lee
 
CG-Lecture3.pptx
CG-Lecture3.pptxCG-Lecture3.pptx
CG-Lecture3.pptx
lakshitasarika2014
 
Graphics in C programming
Graphics in C programmingGraphics in C programming
Graphics in C programming
Kamal Acharya
 
Primitives
PrimitivesPrimitives
Unit 3
Unit 3Unit 3
Introduction to Image Processing
Introduction to Image ProcessingIntroduction to Image Processing
Introduction to Image Processing
Israel Gbati
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015
ihji
 
Lab lecture 1 line_algo
Lab lecture 1 line_algoLab lecture 1 line_algo
Lab lecture 1 line_algo
simpleok
 
Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.
UA Mobile
 
Order-Picking-Policies.ppt
Order-Picking-Policies.pptOrder-Picking-Policies.ppt
Order-Picking-Policies.ppt
TaspiyaAfroz
 
ModuleII.ppt
ModuleII.pptModuleII.ppt
ModuleII.ppt
SKILL2021
 
ModuleII.ppt
ModuleII.pptModuleII.ppt
ModuleII.ppt
AkashVerma916093
 
ModuleII.ppt
ModuleII.pptModuleII.ppt
ModuleII.ppt
nishashreyan1
 
Open CV library In Python_Vahid ebrahimian.pptx
Open CV library In Python_Vahid ebrahimian.pptxOpen CV library In Python_Vahid ebrahimian.pptx
Open CV library In Python_Vahid ebrahimian.pptx
vahid67ebrahimian
 
Line drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniquesLine drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniques
Ankit Garg
 
raster algorithm.pdf
raster algorithm.pdfraster algorithm.pdf
raster algorithm.pdf
Mattupallipardhu
 
OOP v3
OOP v3OOP v3
OOP v3
Sunil OS
 

Similar to Efficient realization for geometric transformation of digital images in run length encoding. (20)

Computer Graphics Unit 1
Computer Graphics Unit 1Computer Graphics Unit 1
Computer Graphics Unit 1
 
Oct8 - 131 slid
Oct8 - 131 slidOct8 - 131 slid
Oct8 - 131 slid
 
CG-Lecture3.pptx
CG-Lecture3.pptxCG-Lecture3.pptx
CG-Lecture3.pptx
 
Graphics in C programming
Graphics in C programmingGraphics in C programming
Graphics in C programming
 
Primitives
PrimitivesPrimitives
Primitives
 
Unit 3
Unit 3Unit 3
Unit 3
 
Introduction to Image Processing
Introduction to Image ProcessingIntroduction to Image Processing
Introduction to Image Processing
 
Yoyak ScalaDays 2015
Yoyak ScalaDays 2015Yoyak ScalaDays 2015
Yoyak ScalaDays 2015
 
Lab lecture 1 line_algo
Lab lecture 1 line_algoLab lecture 1 line_algo
Lab lecture 1 line_algo
 
Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.
 
Order-Picking-Policies.ppt
Order-Picking-Policies.pptOrder-Picking-Policies.ppt
Order-Picking-Policies.ppt
 
ModuleII.ppt
ModuleII.pptModuleII.ppt
ModuleII.ppt
 
ModuleII.ppt
ModuleII.pptModuleII.ppt
ModuleII.ppt
 
ModuleII.ppt
ModuleII.pptModuleII.ppt
ModuleII.ppt
 
Open CV library In Python_Vahid ebrahimian.pptx
Open CV library In Python_Vahid ebrahimian.pptxOpen CV library In Python_Vahid ebrahimian.pptx
Open CV library In Python_Vahid ebrahimian.pptx
 
Histogram processing
Histogram processingHistogram processing
Histogram processing
 
Line drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniquesLine drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniques
 
raster algorithm.pdf
raster algorithm.pdfraster algorithm.pdf
raster algorithm.pdf
 
ISCAS2013_v5
ISCAS2013_v5ISCAS2013_v5
ISCAS2013_v5
 
OOP v3
OOP v3OOP v3
OOP v3
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

Efficient realization for geometric transformation of digital images in run length encoding.

Editor's Notes

  1. The 1 st the 2 nd and 3 rd cases are when two runs have the same colour. In all of these cases we know that no output run should be created, at least in the overlapping region, and this overlapping region ends at the minimum of the two runs. Therefore what is needed to do is just to record this minimum column. These three cases are described in figures one to three below.
  2. The 4th the 5 th and 6 th cases are when two runs don’t have the same colour. Now if two runs from two successive lines have an overlapping span then it is obvious that a run in the flipped image terminate and new runs start as can seen form the next pictures. Output run should be created from the last recorded column of unmatched colour up to the minimum of the runs. The column of the minimum run is recorded as it was recorded in the previous cases.
  3. Now when an output run is to be created there are two things that are needed, the colour and the length. The colour of the run is just the colour of the top run. The length of the run is the difference between the line index of the bottom line and the index of the line where this line started. Now all what is needed is to remember on which line this run started, it started of course when a run above it terminated, or at the top of the image. In order to &quot;remember&quot; where each run started, the algorithm will use an auxiliary array called start that keeps track on the starting line of output runs that are not yet written. To clarify it lets look at a bit mapped grid virtually laid over the run length encoded image together with the auxiliary start array at the top row. And assume that the lines that are merged are lines 3 and 4. Then the situation will be like the following
  4. Destination pixel at (1:7) does not have any source, No source pixel is mapped to (1:7) Destination pixel at (0:7) has two sources. In reverse trans pixel (1:7) will not be sampled and pixel (0:7) will be sampled twice. It is not reversible.
  5. Perform rotation by three successive sheering transformation.
  6. Vertical sheering is not efficient in bit mapped image because of memory architecture. It is also not natural for run length encoded images. Can do vertical sheering by transposing and horizontal sheering.
  7. Assume one wish to rotate by a small angle an image that consists of horizontal stripes that alternate their colours each line. The output image is likely to have the same order of the input image, but the intermediate images after the 90° rotation will have a very big size, since it is an image of vertical stripes, and this kind of image does not compress well with run length encoding.
  8. The 1 st case is when the two runs ends after a breaking line but before the next breaking line, and the top run ends after the bottom run, as the next picture shows. In this case no output run ends, and the merge process continues.  
  9. In the 2 nd case is when to top run ends before or together with the bottom line, but not at a breaking line. I this case an output run is created
  10. In 3 rd case the bottom run ends exactly at a breaking line, while the top run continues. Now since a run ends only when the colour changes, we know that a top run must ends, and a run should be created.
  11. In the 4 th case the top run ends after the breaking line while the bottom run ends before the breaking line. In this case it is possible that the top run colour will return and the previous colour will be restored and the top run will continue. Therefore we don’t create a run yet.
  12. The 5 th is when the top and bottom run ends exactly at a breaking line, case is similar two the 3 rd case, and as result an output run should be created.  
  13. In the 6 th is similar to the 4 th and the same reasoning apply.
  14. In the 7 th case the top run ends at a breaking line but the bottom run continues. In this case no output run is created and the merge process continues.
  15. In the 1 st case we need to create a run at each breaking line, the fate of the last segment is still unknown.
  16. In the 2 nd case when the bottom run ends at a breaking line leaves us with another unclosed run since the bottom line change colour, and it is possible that it will change colour two the top line colour.
  17. The 3 rd case is just like the 2 nd as we still don’t know how the segment will end.
  18. The 4 th case is the same.
  19. The 5 th case ditto.
  20. Cohen algorithm for digital image rotation is a source to destination algorithm. As it takes each of the original image pixels and put it in the destination image. One can look at this algorithm as taking imaginary lines that passes trough the centre of the pixels of the top horizontal line and the centre of the pixels of the left vertical line, rotate these lines and the use Bresenham algorithm in order to create parallel filling pattern, as shown in the next picture.
  21. The Cohen algorithm can be described by the next equation. Where for small θ the multiplication result approximate a rotation matrix. And therefore Cohen&apos;s algorithm is suitable for small angles only, where it has a marginal speed advantage.
  22. From this equation one learn that there is a need to scale down each line by a factor of the sinus of rotation angle and to scale up the vertical dimension of the image by a factor of the secant of the rotation angle. Scaling up an image in the vertical dimension can be done by replicating some of the input lines, while scaling down a line can be done by deleting pixels from lines. In order to delete pixels from input line in linear time an auxiliary array &quot;outcol&quot; that maps each input column to output columns will be used. Both the scale up and the calculation of the &quot;octcol&quot; array can be done using Bresenham, DDA or any other algorithm of choice. The modified algorithm scales correctly the input image and does it in linear time, but it is irreversible. The irreversibility is a direct consequence of the scale down operation that might cause small runs to disappear.