Skip to main content
Share Your Experience: Take the 2024 Developer Survey
18 votes
Accepted

What Is the Difference between Difference of Gaussian, Laplace of Gaussian, and Mexican Hat Wavelet?

Laplace of Gaussian The Laplace of Gaussian (LoG) of image $f$ can be written as $$ \nabla^2 (f * g) = f * \nabla^2 g $$ with $g$ the Gaussian kernel and $*$ the convolution. That is, the Laplace ...
Cris Luengo's user avatar
  • 2,584
11 votes

In opecv function Hough circles how does parameter 1 and 2 affect circle detection and how can I adjust them to increase accuracy?

Intuition for parameters of HoughCircles: image: 8-bit, single channel image. If working with a color image, convert to grayscale first. method: Defines the method to detect circles in images. ...
Eric Leschinski's user avatar
10 votes

How do I get the most accurate camera calibration?

I decided to post this answer here because a while back, this came up as the top result in Google and its suggestions helped me. So I decided to share my experience too. Having spent countless hours ...
Maghoumi's user avatar
  • 201
8 votes

How do I get the most accurate camera calibration?

Here is a list of 'best practices' for camera calibration which I originally posted here: https://calib.io/blogs/knowledge-base/calibration-best-practices Choose the right size calibration target. ...
Jakob's user avatar
  • 156
6 votes

What Is the Difference between Difference of Gaussian, Laplace of Gaussian, and Mexican Hat Wavelet?

The Ricker wavelet, the (isotropic) Marr wavelet, the Mexican hat or the Laplacian of Gaussians belong to be the same concept: continuous admissible wavelets (satisfying certain conditions). ...
Laurent Duval's user avatar
6 votes

What Is the Difference between Difference of Gaussian, Laplace of Gaussian, and Mexican Hat Wavelet?

Let's see how DoG approximates LoG for the 2D case (for an image, e.g.). By derivative theorem of convolution (by associativity and commutativity), $$\nabla^2[f(x, y) \ast G(x, y)] = \nabla^2 G(x, y) \...
Sandipan Dey's user avatar
6 votes
Accepted

Given a set of lines, find only those who are parallel (perspective)

Parallel lines in the image do intersect at a vanishing point. Therefore simply hypothesizing lines (a gradient direction at a point suffices to describe it) and voting (see Hough voting) would ...
Tolga Birdal's user avatar
  • 5,465
5 votes

Removing noisy lines from image - opencv - python

first of all remember that there is no single solution for all kind of noise and all kind of images. that being said i can think of two solution. first is using Otsu thresholding: ...
HKhoshdel's user avatar
4 votes

Removing noisy lines from image - opencv - python

You might be able to take these steps: Use Otsu threshold cv2.threshold(img, 0, 255, cv2.THRESH_BINARY_INV|cv2.THRESH_OTSU) to get the image in only pure white ...
abcd1234's user avatar
4 votes

Outlined text extraction from image using OpenCV

You can obtain pretty good results by just thresholding the image at a high intensity (since your text appears always to be white) and do a closing operation to close the gaps: ...
T A's user avatar
  • 141
4 votes

Detecting bullet holes using Python with camera or sensors

I can't really comment on the machine vision part, other than any question that asks "How do I do <some signal processing task> in <some language>" is fairly naive. The way you ...
TimWescott's user avatar
  • 12.8k
4 votes

Which Blur is being used in this effect

So I tried what has been suggested on this image Here's the python code : ...
SaulGoodMan's user avatar
4 votes
Accepted

Can DFT magnitude be used to identify repeating patterns in an Image?

Yes, the DFT magnitude can reveal repetition patterns in an image. I provide an intuitive understanding for the results returned by the DFT which will hopefully make the interpretation of the DFT ...
Dan Boschen's user avatar
3 votes
Accepted

How can I construct a Band-pass filter from a low and a high-pass filter?

Yes you are correct. You apply them if series in they are linear. One simple band-pass filter you could use is called the difference of Gaussian (DoG) The procedure is: Create a Gaussian filter ...
geometrikal's user avatar
  • 3,616
3 votes

Measuring the contrast of an image

A simple way to calculate contrast is by computing the standard deviation of the greyed image pixel intensities.
Franco Piccolo's user avatar
3 votes

Gap Filling Contours / Lines

I managed to find a solution of your problem by simply using a disk-like structuring element instead of a square/rectangular one for the closing operation. A comparison of both approaches' results is ...
Hristo Georgiev's user avatar
3 votes
Accepted

How to Get Rid of Ripples from a Gradient Image of a Smoothed Image?

I think it happens due to 2 things: Quantization You are working using UINT8 Image, try convert it into floating Point Image. You may do this by ...
Royi's user avatar
  • 19.7k
3 votes
Accepted

How can I isolate a Hough circle that I perceive to be the best fit, but is ranked much lower?

The Hough Transform is "right". Because it searches for the most consistent "shape" given the accumulated values. If all you would like to do is to find the center of the spot, there are other ...
A_A's user avatar
  • 10.7k
3 votes

Image Shadow Removal Using OpenCV and Python

fgbg = cv2.createBackgroundSubtractorMOG2(128,cv2.THRESH_BINARY,1) masked_image = fgbg.apply(image) in masked_image shadow will be grey color(pixel value= 127) ...
prateek khandelwal's user avatar
3 votes
Accepted

How to recognize speech bubbles in comic strips (Ideally OpenCV)

As said in the comments an efficient way is to first detect letters, words and text with OCR. Then try to expand each text zone to its corresponding text bubble. Depending on the text bubble design ...
Louis Lac's user avatar
  • 378
3 votes
Accepted

How to detach overlapping contours but not to remove small ones. Alternative to erosion-dilation cycle

I don't know if this is a corner case or the norm in your dataset but it is a relatively easy situation to deal with. It would be much more difficult to detect trees in an urban environment, for ...
A_A's user avatar
  • 10.7k
3 votes
Accepted

Licence plate enhancement

I guess image denoising and image super-resolution techniques could be used to enhance license plate images. Here are a few relevant links: Image denoising based - SNIDER: Single Noisy Image ...
Balraj Ashwath's user avatar
3 votes

Salt and Pepper impulse Denoising opencv

Can we consider these noises as salt and pepper noise.? Is there something else that I am missing? several pixels getting erased to either zero or one -> yeah, that fits my definition of salt and ...
Marcus Müller's user avatar
3 votes

What happens when you read and save the same JPEG image again over and over?

JPEG is lossy compression, and it is allowed to do anything deemed beneficial in representing an image as accurately as possible using the minimum amount of storage while keeping cpu load in check. ...
Knut Inge's user avatar
  • 3,434
3 votes

Removing white reflective pixels from scanned RGB image (Python - preferably OpenCV)

This is the best I could come to. Improvements are extremely welcome. ...
Konchog's user avatar
  • 161
2 votes

How to make color balance of photoshop using opencv

OpenCV don't have any apis to separate data into lowlight,midtones and highlights.But you can categorize pixels in image into shadows,mid-tones and highlights by setting some thresholds.As they depend ...
Navin Prashath's user avatar
2 votes

DFT and Inverse DFT in Image Processing

I saw same issue, and I found the answer in stackoverflow - DFT to spatial domain in OpenCV is not working. for short, you can set imaginary part of filtering kernel zeros before you call mulSpectrums....
Taizo Nakamura's user avatar
2 votes
Accepted

Comparison between watershed and grabcut

Watershed-based segmentation will typically lead to over-segmentation, and is very sensitive to local image noise (e.g. see discussion here). Typically watersheds are pruned/merged by using thresholds ...
GeoMatt22's user avatar
  • 181
2 votes
Accepted

OpenCV - What type of a result does cv2.goodFeaturesToTrack() return?

The cv2.goodFeaturesToTrack() is mainly used for detection of corners. See THIS PAGE If you observe the type of the value ...
Jeru Luke's user avatar
  • 140
2 votes

OpenCV - What type of a result does cv2.goodFeaturesToTrack() return?

Since computing the optical flow for the whole image pixels is computationally immense, it it preferred to compute optical flow only around feature points. This method is called sparse optical flow. ...
MimSaad's user avatar
  • 1,976

Only top scored, non community-wiki answers of a minimum length are eligible