Hot answers tagged

40

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


24

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


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


13

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


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


11

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


10

While there are some obvious exception to it ("static" pattern on a television screen, the "dark frame" noise pattern of a camera), images are rarely generated by random processes. Declaring that an image is drawn from such or such distribution or generated by such or such random process is just a post-hoc modeling decision, and there is no "ground truth" to ...


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


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


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

An answer to another question here provides a great explanation (with pictures) of what a single frequency looks like in the spatial domain. Note that a single sample in the frequency domain affects all pixels in the spatial domain. That frequency produces a sinusoid with one frequency in the x dimension and another in the y dimension. If you want to ...


6

One simple way for quantification of contract that I can think of is through use of image histogram. Following is my suggestion Compute Histogram of the Image From the counts compute entropy If you just want to try it out you can use the matlab inbuilt function http://www.mathworks.ch/ch/help/images/ref/entropy.html You can use the entropy value of the ...


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

You can take images as 2D discrete signals. The "time" in 1D signals is actually two spatial dimensions in images (2D signals). You can measure "frequency" as well - imagine a line of white pixels with regular spacing. The spacing represents period $p$, and frequency is given by $1/p$. Hence the maximum frequency the discrete signal can contain is limited ...


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

I have solved this problem by adding certain padding to overlap area. There are pixels belonging to image1, image2, background and overlap. A pixels in overlap are successively relabeled to either image1 or image2 depending on neighborhood. This padding will make some space for the blurring so that sharp edges of the overlap have no change of appearing. ...


4

If you are asking about online learning using OpenCV's Cascade Classifier, I'm pretty sure it is not possible. The reason is that Cascade Classifier consists of number of simpler classifiers which are decision trees in case of OpenCV's face detection system. I don't know exactly, what decision tree algorithm is used, but as far as I know there are no ...


4

The signals that we measure in MRI are a combination of signals from all over the object being imaged. It so happens that any signal (even if you simply make one up and draw a squiggle) is composed of a series of sine waves, each with an individual frequency and amplitude. The Fourier transform allows us to work out what those frequencies and amplitudes are. ...


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