Hot answers tagged

42

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


26

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


14

If I understand your method 1 correctly, with it, if you used a circularly symmetrical region and did the rotation about the center of the region, you would eliminate the region's dependency on the rotation angle and get a more fair comparison by the merit function between different rotation angles. I will suggest a method that is essentially equivalent to ...


13

It depends how you define the term "information" or "entropy". The conventional definition of entropy of an image is to think the image as a two-dimensional matrix of pixels and $$H = - \sum_k p_k \log_2(p_k),$$ where $p_k$ is the probability, which is calculated from histogram, associated with gray level $k$. This kind of entropy is correct if we ignore ...


12

The lossy JPEG compression does not merely remove small coefficients in higher frequencies. It encodes them with a precision relative to a (relatively crude) visual perception model; most notably, horizontal and vertical frequencies are not quantized with the same precision. And as in many compression formats, it essentially assumes that the data is locally ...


11

The DC term is the 0 Hz term and is equivalent to the average of all the samples in the window (hence it's always purely real for a real signal). The terminology does indeed come from AC/DC electricity - all the non-zero bins correspond to non-zero frequencies, i.e. "AC components" in an electrical context, whereas the zero bin corresponds to a fixed value, ...


10

One-dimensional version The one-dimensional version that you list won't work. When there is a large enough shift in images (more than one or two pixels in real-world images), there will be nothing relating the column pixels. For an example of this, try: I5 = rand(100,100)*255; I6 = zeros(100,100); I6(11:100,22:100) = I5(1:90,1:79); So that we have I5: ...


10

There is a code on Matlab Fileexchange that is relevant to your problem: http://www.mathworks.com/matlabcentral/fileexchange/28155-inscribedrectangle/content/html/Inscribed_Rectangle_demo.html Update I wrote this tutorial article on computing largest inscribed rectangles based on the above link from Atul Ingle. The algorithm first searches for largest ...


8

The term "DC" comes from the field of signal processing back when signals were actually small currents on a copper wire... An electrical signal was usually transmited as a small modulation ("AC") over a strong and fixed current/volatage ("DC"). The strong fixed current usually determined the electrical properties of the analog components of the circuit ...


8

The appeal of this image is obviously in the numerous lines, which test the aliasing properties of resizing, denoising, and super-resolution algorithms. It seems Allen Gersho is the source, according to the Acknowledgement section of Embedded image coding using zerotrees of wavelet coefficients If you want more specific information you could ask him or one ...


7

Second question is easy: optical flow, more specifically dense optical flow, is an algorithm that takes two consecutive video frames and returns a vector field. For every pixel in frame 1 you get a vector showing where it moved to in frame 2. You can also have sparse optical flow, which only computes the motion vectors for certain pixels, such as the ...


7

So one good step to enhance the vein-like structures is coherence enhancing diffusion: Weickert, Joachim. "Coherence-enhancing diffusion filtering." International Journal of Computer Vision 31.2-3 (1999): 111-127. So I first apply this algorithm to your image, aggressively. The next step is to identify the curvilinear structures, which would in this case ...


6

Hue is the main indication of color. It is the value actually telling you which color it is or the value that lets you go "red" when you see a red object. Saturation is the perceived intensity. In other words it is a value of how dominant the color is, or how colorful the object looks. Practical example: Regardless of the color, shadows generally happen to ...


6

Salt-and-pepper noise is a form of noise sometimes seen on images. It presents itself as sparsely occurring white and black pixels. In another words ( in the sense of pixels), salt and pepper noise means that are high frequencies, so for salt noise the values of this noise type is high (255 ... 200), and for the pepper noise the values of this noise type is ...


6

It's a DFT property that if you apply DFT twice to input data, you get the original signal flipped (circularly). Stated mathematically for 1D case: $$ x[n] \xrightarrow{ N-DFT } X[k] $$ $$ X[k] \xrightarrow{ N-DFT } Y[k] = N x[-k] $$ similar result can be shown for 2D case. And as you can see, the resulting output is the flipped (horizontally and ...


5

A label is some unique ID that you attach to part of an image or to a pixel. You can have as many labels as objects (or classes) of interest for your application. Some examples: in connected component labeling, pixels are assigned a label that is usually just a number corresponding to the ID of the connected region the pixels belong to; in object detection/...


5

There are various methods on 2d interpolation (this one, and this one). But most of them considered at least 4 points rather than 2. The simplest 2d interpolation is 3 1d interpolation, in which you interpolate the points between (x1-d1, y1-d2) and (x1+d1, y1-d2) as (x2,y2), then you interpolate the points between (x1-d3, y1+d4) and (x1+d3, y1+d4) as (x3,y3)....


5

Basically the dimensional number refers to the number of independent variables (input). In one dimensional signal $f(t)$, the amplitude $y=f(t)$ is the dependent variable (output), and there is only one independent variable $t$. In two dimensional image $f(x,y)$, the two independent variables are $x$ and $y$, and the dependent variable $f$ is also called ...


5

This code work fine for me. You try RGB = imread('Image/input.png'); GRAY = rgb2gray(RGB); threshold = graythresh(GRAY); originalImage = im2bw(GRAY, threshold); originalImage = bwareaopen(originalImage,250); se = strel('disk', 10); %# structuring element closeBW = imclose(originalImage,se); imshow(closeBW);


5

JPEG projects $8\times 8$ blocks of images onto $64$ 2D cosine patterns: The one in column $1$ and row $5$, once quantized, may look like your hamburger. Luminance and chroma components may get different subsampling patterns. I suspect that the low varying background is nearly horizontal, and due to the different processing steps, it ends up with a mid-...


5

When you take an RGB Image matrix and convert the color into HSV Color Model the color is represented on Cylinder. Now, the intensity (Lightness / Value) is the height on this Cylinder which is going from black to white and basically sets the Gray Color of the neutral color (One which blends RGB in the same intensity). Saturation is the Radius and ...


5

There is a similar DSP trick here, but I don't remember the details exactly. I read about it somewhere, some while ago. It has to do with figuring out fabric pattern matches regardless of the orientation. So you may want to research on that. Grab a circle sample. Do sums along spokes of the circle to get a circumference profile. Then they did a DFT on ...


5

This is a go at the first suggested extension of my previous answer. Ideal circularly symmetric band-limiting filters We construct an orthogonal bank of four filters bandlimited to inside a circle of radius $\omega_c$ on the frequency plane. The impulse responses of these filters can be linearly combined to form directional edge detection kernels. An ...


4

What you need is an interpolation method. The method you described is called nearest-neighbor, because you pick the pixel that is nearest to the place you actually wanted. Other methods include: bi-linear interpolation (Select 4 nearest points, interpolate by x and y according to distance) (see here) barycentric interpolation (Select 3 nearest points, ...


4

Each DCT output bin is a (weighted) correlation against a cosine function of a certain frequency. A negative value would represent a negative correlation, e.g. something in the image data is of the opposite phase to that cosine (e.g. maybe dark when the cosine is 1, and light when the cosine is -1, instead of vice-versa for a positive correlation).


4

the simplest interpolation method is nearest neighbour. If you have 4 points with values given by Ms the interpolated value is given by P = f(x,y): P$\ = f(x,y)$ = M_11 if $\ |x-x_1|<= |x-x_2|$ and $\ |y-y_1|<= |y-y_2|$, = M_12 if $\ |x-x_1|< |x-x_2|$ and $\ |y-y_2|< |y-y_1|$, = M_21 if $\ |x-x_2|< |x-x_1|$ and $\ |y-y_1|< |y-y_2|$, ...


4

Although you did not spent even a minute in researching the question I will post an answer to it. There are multiple ways; I will try to demonstrate it using wavelets in Mathematica. So, first of all we need an image. img = ExampleData[{"TestImage", "Mandrill"}] Then we apply the DiscreteWaveletTransform using the HaarWavelet dwd = ...


4

It depends on how you define the noise and what kind of noise does your image have. Different filters work on different kinds of noise. Among those filters, Wiener filter is often used by tailoring itself to the local image variance. And a new method called block-matching and 3D ļ¬ltering (BM3D) in which the Weiner filter is used to optimize the parameters of ...


4

If the example images you've given are at all representative of your application, you may want to consider thinking about the problem a little differently. Instead of thinking of the image as "corrupted by Poisson noise", think of the observed data as a limited number of photons sampled at random from the latent image intensity map. The photon counts you get ...


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