Algorithms, Computer Engineering

Assignment Help:
Design an algorithm (using pseudocode) that takes in as an input, two 2-D int arrays that are assumed to be 2 black-and-white images: initialImage x, whose dimensions are IxJ, and finalImage y, whose dimensions are IxK. The algorithm will compare x to the y, row-by-row, as defined below. Your algorithm will employ a dynamic programming scheme to compare X to Y identifying the minimal difference between each row.

Because you are working with black-and-white images only, you should assume that each image is a 2-D int array consisting of 2 possible values: 0 or 1, where 0 represents black and 1 represents white. Thus, this 2-D grid of 0 and 1 values comprise a 2-D black-and-white image. Each row of this image is then simply a 1-D int array filled with either 0s or 1s. Therefore, you must define how you will measure the difference between the strings of 0s and 1s in each row.

Remember that you will do the comparison one row in the images at a time.

First, compare X1,* to Y1,*. (Here X1,* is the first row in image X and Y1,* is the first row in image Y ). Next, compare X2 to Y2... Each one of these comparisons will require the construction of a D (distance) matrix.

In the following example, the first row of X is X1,*, and the first row of Y is Y1,* = 00110.



Use the following recurrence relation to develop your pseudocode:



After the D matrix is completed, the minimum number in the bottom row is the minimal mismatch for this row. You will assign this value to the variable minVali. This number tells how different row X1,* is from row Y1,* . You will then repeat this comparison for all rows i and aggregate the difference when complete into variable totalDifference = Si minVali.

As a result, the algorithm will compare the total difference to a threshold value called thresh. If total value is above the threshold, the images are declared different, otherwise they are declared to be similar images. You can assume that the thresh variable is supplied as an input to your algorithm.

Part 1

Create a portfolio that includes all previous IPs.

Part 2a:

Design pseudocode for the image comparison algorithm discussed above, given input Images X, Y, and thresh. The output is a declaration: The images are similar, or the images are different.

Part 2b:

Discuss the optimality of the dynamic programming solution. Discuss the time complexity of this algorithm in terms of the size of the inputs X and Y.

Related Discussions:- Algorithms

Design a alarm system - microprocessor system, A burglar alarm system is co...

A burglar alarm system is controlled by a microprocessor system. The system has three independent circuit each consisting of 7 passive infra red sensors. The controller can be prog

Define the key features of hop field neural networks, a. Define the Key fea...

a. Define the Key features of Hop field Neural Networks. b. Compare and contrast among Neural Networks and Expert systems in terms of knowledge representation, acquisition and e

ERP, Benefits of implementing ERP

Benefits of implementing ERP

Implementation of BUS, Q. Implementation of BUS Construction of a bus s...

Q. Implementation of BUS Construction of a bus system for four registers employing 4×1 multiplexers is displayed below. Every register has four bits which are numbered 0 throug

What is an interface and what is an abstract class, What is an interface an...

What is an interface and what is an abstract class? Please, expand by examples of using both. Explain why.   In a interface class, all methods are abstract without execution w

How does applet update its window when information changs, How does the App...

How does the Applet update its window when information changes? Whenever an applet requires to update the information displayed in its window, this simply calls repaint ( ) way

Explain increments and skips subsequent instruction, Q. Explain Increments ...

Q. Explain Increments and skips subsequent instruction? Increments A and skips subsequent instruction if the content of A has become 0. This is a complex instruction then requi

What is rdram, Direct Rambus DRAM or DRDRAM (sometimes just known as Rambus...

Direct Rambus DRAM or DRDRAM (sometimes just known as Rambus DRAM or RDRAM) is a type of synchronous dynamic RAM. RDRAM was formed by Rambus inc., in the mid-1990s as a replacement

Illustrate the execute cycle, Q. Illustrate the Execute Cycle? The fetc...

Q. Illustrate the Execute Cycle? The fetch and indirect cycles include a small, fixed sequence of micro-operations. Every one of these cycles has fixed sequence of micro-operat

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd