# Tag Info

95

But what does frequency spectrum means in case of images? The "mathematical equations" are important, so don't skip them entirely. But the 2d FFT has an intuitive interpretation, too. For illustration, I've calculated the inverse FFT of a few sample images: As you can see, only one pixel is set in the frequency domain. The result in the image domain (I've ...

66

Both SIFT and SURF authors require license fees for usage of their original algorithms. I have done some research about the situation and here are the possible alternatives: Keypoint detector: Harris corner detector Harris-Laplace - scale-invariant version of Harris detector (an affine invariant version also exists, presented by Mikolajczyk and Schmidt, ...

61

The simple answer is that unlike RGB, HSV separates luma, or the image intensity, from chroma or the color information. This is very useful in many applications. For example, if you want to do histogram equalization of a color image, you probably want to do that only on the intensity component, and leave the color components alone. Otherwise you will get ...

60

A similar question was asked on Mathematica.Stackexchange. My answer over there evolved and got quite long in the end, so I'll summarize the algorithm here. Abstract The basic idea is: Find the label. Find the borders of the label Find a mapping that maps image coordinates to cylinder coordinates so that it maps the pixels along the top border of the ...

58

You're not looking for edges (=borders between extended areas of high and low gray value), you're looking for ridges (thin lines darker or brighter than their neighborhood), so edge filters might not be ideal: An edge filter will give you two flanks (one on each side of the line) and a low response in the middle of the line: ADD: If've been asked to explain ...

56

In Mathematica, using erosion and Hough transform: (*Get Your Images*) i = Import /@ {"http://i.stack.imgur.com/4ShOW.png", "http://i.stack.imgur.com/5UQwb.png"}; (*Erode and binarize*) i1 = Binarize /@ (Erosion[#, 2] & /@ i); (*Hough transform*) lines = ImageLines[#, .5, "Segmented" -> True] & /@ i1; (*Ready, show them*) Show[#...

49

Your image doesn't have uniform brightness,so you shouldn't work with a uniform threshold. You need an adaptive threshold. This can be implemented by preprocessing the image to make the brightness more uniform across the image (code written in Mathematica, you'll have to implement the Matlab version for yourself): A simple way to make the brightness uniform ...

47

On the top of this answer, you can see a section of Updated links, where artificial intelligence, deep learning or and database machine learning progressively step of the grounds of traditional signal processing/image analysis/computer vision. Below, variations on the original answer. For a short version: successes of convolutional neural networks and deep ...

42

The color information is usually much more noisy than the HSV information. Let me give you an example: Me and some friends were involved in a project dealing with the recognition of traffic signs in real scene videos (noise, shadows and sometimes occlusion present). It was a part of a bigger project, so that allowed us time to try out different approaches ...

39

Convolution is correlation with the filter rotated 180 degrees. This makes no difference, if the filter is symmetric, like a Gaussian, or a Laplacian. But it makes a whole lot of difference, when the filter is not symmetric, like a derivative. The reason we need convolution is that it is associative, while correlation, in general, is not. To see why this ...

35

Maybe you can be more specific about the scope and scale of your work (academic project? Desktop or Mobile commercial product? Web-based commercial project?). Some recommendations and comments: Matlab is common in the academic world, and quite good for sketching/validating ideas. You will have access to a large body of code from other researchers (in CV ...

32

The meaning of that formula is really quite simple. Imagine you take two same-sized small areas of an image, the blue one and the red one: The window function equals 0 outside the red rectangle (for simplicity, we can assume the window is simply constant within the red rectangle). So the window function selects which pixels you want to look at and assigns ...

30

Consider the following: clam-project.org: CLAM (C++ Library for Audio and Music) is a full-fledged software framework for research and application development in the Audio and Music Domain. It offers a conceptual model as well as tools for the analysis, synthesis and processing of audio signals. MARF: MARF is an open-source research platform and a ...

30

I think this was put very well in the well known "DSP guide" (chapter 24, section 5): Fourier analysis is used in image processing in much the same way as with one-dimensional signals. However, images do not have their information encoded in the frequency domain, making the techniques much less useful. For example, when the Fourier transform is ...

29

I don't know which algorithm Google uses. But, since you wanted a best guess, let me give some ideas on how a similar system could be constructed. The whole field dealing with search-image-base-by-image is called Content Based Image Retrieval (CBIR). The idea is to, somehow, construct an image representation (not necessarily understandable by humans) that ...

28

Image processing applications are different from say audio processing applications, because many of them are tuned for the eye. Gaussian masks nearly perfectly simulate optical blur (see also point spread functions). In any image processing application oriented at artistic production, Gaussian filters are used for blurring by default. Another important ...

27

Overview The short answer is that they have the maximum number of vanishing moments for a given support (i.e number of filter coefficients). That's the "extremal" property which distinguishes Daubechies wavelets in general. Loosely speaking, more vanishing moments implies better compression, and smaller support implies less computation. In fact, the ...

27

There is a relatively new method, you might want to look into: BRISK, Binary Robust Invariant Scalable Keypoints: In this paper we propose BRISK, a novel method for keypoint detection, description and matching. A comprehensive evaluation on benchmark datasets reveals BRISK’s adaptive, high quality performance as in state-of-the-art algorithms, albeit at a ...

25

The field itself is too vast. So i doubt you can have a fully exhaustive list here. However, MPEG 7 is one of the primary effort in standardizing this area. So what is included here is not universal - but at least the most primary. Here are some key feature set which are identified in MPEG7 ( I can really talk only about Visual Descriptors not others see ...

24

I do not think mine will be a complete answer, but I'll offer what I know and since this is a community edited site, I hope somebody will give a complimentary answer soon :) Adaptive thresholding methods are those that do not use the same threshold throughout the whole image. But, for some simpler usages, it is sometimes enough to just pick a threshold ...

23

A filter F is called "linear", iff for any scalars $c_1$, $c_2$ and any images $I_1$ and $I_2$: $F\left(c_1\cdot I_1+c_2\cdot I_2\right)=c_1\cdot F\left(I_1\right)+c_2\cdot F\left(I_2\right)$ This includes: Derivatives Integrals Fourier transform Z-Transform Geometric transformations (rotate, translate, scale, warp) Convolution and Correlation the ...

23

Smoothing can be done in many ways, but in very basic and general terms it means that you even out a signal, by mixing its elements with their neighbors. You smear/blur the signal a bit in order to get rid of noise. For example, a very simple smoothing technique would be, to recalculate every signal element f(t) to as 0.8 of the original value, plus 0.1 of ...

22

In addition to the answer of penelope, there are two approaches, perceptual hashing and the bag-of-words model whose basic functionality is easily implemented and are therefor nice to play with or to learn from, before venturing into more advanced territory. Perceptual hashing Perceptual hashing algorithms aim to construct a hash, that unlike a ...

22

Similar to one dimensional signals, low frequencies in images mean pixel values that are changing slowly over space, while high frequency content means pixel values that are rapidly changing in space. For example, the following image has strong low frequency components: You can intuitively see how I simply have a sin-wave propagating at some low frequency. ...

22

One important thing to understand is that after extracting the keypoints, you only obtain information about their position, and sometimes their coverage area (usually approximated by a circle or ellipse) in the image. While the information about keypoint position might sometimes be useful, it does not say much about the keypoints themselves. Depending on ...

21

This is an extremely difficult problem. I was part of a team that worked on it for several years, and having developed and supported other such applications for a long time I can say that dent detection is a particularly tricky problem, and much harder than it looks at first. Having an algorithm work under lab conditions or on known images is one thing; ...

21

Gaussian filters are used in image processing because they have a property that their support in the time domain, is equal to their support in the frequency domain. This comes about from the Gaussian being its own Fourier Transform. What are the implications of this? Well, if the support of the filter is the same in either domain, that means that the ratio ...

21

What's the relationship between sigma and radius? I've read that sigma is equivalent to radius, I don't see how sigma is expressed in pixels. Or is "radius" just a name for sigma, not related to pixels? There are three things at play here. The variance, ($\sigma^2$), the radius, and the number of pixels. Since this is a 2-dimensional gaussian function, it ...

21

First, there is nothing wrong with doing grad work in image processing or computer vision and using deep learning. Deep learning is not killing image processing and computer vision, it is merely the current hot research topic in those fields. Second, deep learning is primarily used in object category recognition. But that is only one of many areas of ...

19

Let's assume glare portions are the only saturated areas in the image. Detection can be performed by thresholding the intensity (code in Mathematica): saturated = Binarize[ColorConvert[img, "Grayscale"], .9] Then we need only to replace the portions of the image around the saturation mask (enlarging the mask is done by the morphological function Dilation)....

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