The algorithm which takes decisions based on random choices that are generated during its execution is called a randomized algorithm. ….
Got it Ryt?

Yes, I know, It's difficult to understand so I came up with a problem that can be solved with randomized algorithm So we can easily understand this.

Hiring problem

Imagine you are a recruiter and you need to recruit someone who is sent by the agency to replace a current employee.

Basically, you need to hire the best person compared to the current employee.

You know, the agency never gives free offer You…


Whenever we need to analyze the time complexity of a particular operation, most of the time, we go with worst-case time analysis.

Worst-case time analysis

We find where the maximum number of code executions(code-wise) is executed for the given operation and calculate for n number of operations.

When we need to find the element which is last in the array, all n elements will be checked in linear search and this is the worst case. Based on this worst case, linear search time complexity will be defined as O(n).

If we consider the worst-case time analysis in data structure operations, For example…


Image for post
Image for post
Photo by Stephanie LeBlanc on Unsplash

If you want to visit my place, you are always welcome! But be aware that there are two security officers guarding my place. Before allowing you in, they will ask all sorts of questions to verify your identity.

They will ask “Who you are?”, “What you are expecting to do?” to which you will have to answer. Depends on the answers my guards will either allow you to the house or restrict access. …


Image for post
Image for post
Photo by Helloquence on Unsplash

Developing an API is more relaxed than documenting an API. So how can we document an API? We have some tools that can generate the API documents for us automatically. We will see how we can document the Spring boot API with Swagger2.

Swagger2 is a fantastic tool to document the REST API. API Properties can be described in JSON or YAML metadata in Swagger2. The Swagger UI is a beautiful thing to view our API. It will generate HTML documentation using the swagger2 metadata. …


Sorry to disappoint but no- I am not referencing WWE superstar Edge but rather the edges of an image used online. This is an important topic as — when programmers are trying to search or identify objects in an image — finding the border or edge of the image is very important. This article will look at the fundamentals of edges with a main focus on various methods for edge detection.

What is an edge?

Essentially an edge is a discontinuity representing changes in an image attribute (for example, luminance and texture are both important primitive features). If we scan an image along…


Mutex, condition variables, monitors, barriers and semaphores are used to achieve mutual exclusion in concurrent programming.

Before going to the semaphore, we need to understand some of the fundamentals of concurrent programming.

  • Race condition
  • Critical section
  • Critical section problem
  • Mutual exclusion

Race condition

The situation where several processes try to access and manipulate shared data concurrently. As above we mentioned this Situation is called a race condition.

We need to synchronize the processes where this race condition occurs. This is the core objective of concurrent programming. …


We can call any abroad local number freely using a satellite app of sipgate. This is very awesome, I heard this app from my german friend.

The magic of satellite is that you can be reached worldwide under a mobile phone number, regardless of the provider. You don’t need a cellular connection (GSM), just your cell phone and a data connection. It doesn’t matter whether you use a data SIM (5G, 4G, 3G, Edge) or WiFi, the voice quality is always top. And unlike most VoIP apps, satellite behaves like your phone’s standard telephony. …


Image for post
Image for post
Photo by Kaur Kristjan on Unsplash
  1. The battery gets drained much faster than usual
  2. experiencing disruptions during calls
  3. noticing mysterious outgoing calls
  4. There are constant pop-ups
  5. There are unfamiliar apps on your phone
  6. Your gadget overheats
  7. Your smartphone uses much more data than usual
  8. There are frequent program crashes
  9. Sudden Lost Of Free Space In Storage
  10. Multiple Copies Of Unknown Files
  11. Device Slows Down or Lags
  12. Some apps stop working like they used to
  13. Your phone gets warm even you are not using
  14. Your phone reboots itself, switches off, dials numbers, or starts applications
  15. Unknown phone numbers appear in your “Recent calls,” and it costs you
  16. You cannot switch off your device
  17. Emails sent from your phone are blocked by spam filters
  18. You can’t make calls, or they are being dropped
  19. Draining of Mobile data/WiFi data

Glare is a visual sensation caused by excessive and uncontrolled brightness. It can be disabling or simply uncomfortable. It is subjective, and sensitivity to glare can vary widely. Older people are usually more sensitive to glare due to the ageing characteristics of the eye.

Image for post
Image for post
Glare Image

First, We need to detect the place where the glare exists. We can easily identify them using global binarization since when a glare exists commonly, that pixel value is higher than 180. Using that, we can detect the glare. …


What we plan to cover in this blog is listed below

  1. Transformations
  2. Rotations
  3. Scaling
  4. Image Pyramids
  5. Cropping
  6. Convolutions and BLuring
  7. Sharpening
  8. Thresholding and Binarization
  9. Edge Detection and Image Gradients

Transformations

Image for post
Image for post

Transformations are distortions enacted upon an image. What we can do with these transformations, we use them to correct distortions or perspective issues from arising from the point of view an image was captured.

There are two types of well-known transformation one is affine and the other one is Non-Affine.

Affine Vs Non-Affine

Affine transformations include things such as scaling, rotation and translation. The important factor is if the lines are…

Sivaram Rasathurai

Undergraduate of Department of Computer Science and Engineering, University of Moratuwa.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store