SlideShare a Scribd company logo
1 of 38
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 integraisDiego Rodrigues Vaz
 
러닝머신 말고 머신러닝
러닝머신 말고 머신러닝러닝머신 말고 머신러닝
러닝머신 말고 머신러닝Ji Gwang Kim
 
Aptitude 30 questions paper
Aptitude         30 questions paperAptitude         30 questions paper
Aptitude 30 questions paperpuneet8589
 
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 Curvesatsidaev
 
Visualising Big Data
Visualising Big DataVisualising Big Data
Visualising Big DataAmit Kapoor
 
Graphing Functions and Their Transformations
Graphing Functions and Their TransformationsGraphing Functions and Their Transformations
Graphing Functions and Their Transformationszacho1c
 
Visualising Multi Dimensional Data
Visualising Multi Dimensional DataVisualising Multi Dimensional Data
Visualising Multi Dimensional DataAmit Kapoor
 
Systems of Counting
Systems of CountingSystems of Counting
Systems of Countingadil raja
 
Tools & Resources for Data Visualisation
Tools & Resources for Data VisualisationTools & Resources for Data Visualisation
Tools & Resources for Data VisualisationAmit Kapoor
 
2Bytesprog2 course_2014_c9_graph
2Bytesprog2 course_2014_c9_graph2Bytesprog2 course_2014_c9_graph
2Bytesprog2 course_2014_c9_graphkinan keshkeh
 
Introduction to R
Introduction to RIntroduction to R
Introduction to RHappy Garg
 
Tabela derivadas-e-integrais
Tabela derivadas-e-integraisTabela derivadas-e-integrais
Tabela derivadas-e-integraismariasousagomes
 
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.6BGEsp1
 

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 PaymentsSteven 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 symphonySteven 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-CommerceSteven 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
 
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 2014Steven 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 ChallengesRfldc Danida
 
PHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHPPHPConf.Asia - The Sound of PHP
PHPConf.Asia - The Sound of PHPSteven 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 devSteven 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 geometric transformation of digital images in run length encoding

Similar to Efficient 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

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Efficient 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.