Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

New answers tagged

1

This is a go at the first suggested extension of my previous answer. 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 arbitrarily normalized set of orthogonal filter impulse ...


0

For a metric of the blurredeness, you are using a laplacian which gives you usable limits of the object which are not included in most of the edge of the objects square. If you walk lines of pixels inwards from the edges of the detected zone, omitting the photo edges, when you cross a black zone from your laplacian, it means that you have transitioned inside ...


1

Let me present the following Diagram: So, both Deblurring and Deconvolution are operations within the family of Image Restoration (Which is a subset of Inverse Problem set). Basically we build the Image Restoration set by different Degradation Models. The one related to the question are: Linear Degradation Model Namely, the degradation is made by a Linear ...


1

Here is what I would try on the source image: Split your image into 5x5 pixel blocks (maybe 3 maybe 7, who knows?) Create output image one fifth (third, seventh, ??) size For each block For each color channel Find best fit plane Measure RMS of (pixel value-plane value) Next Set output pixel to RMS(R,G,B) Next In blurry/plain areas the ...


2

In the context of image processing (and machine vision as well), blurring is an operation that reduces the sharpness of an image by some lowpass filtering applied on it. There are different causes of blurring such as lens blur, motion blur, or just LSI (linear shift invariant) lowpass filtering. Deblurring refers to any restoration performed on the image ...


1

Yes it's true; there are image filter kernels whose coefficients may change with location of the processing and further based on image data. They're known as shift-varying filters. And data dependency also makes them nonlinear. One prime application of shift-varying nonlinear filtering is on the edge adaptive, noise reduction where the kernel coefficients ...


0

Hard facts first. Why entropy value can be used as measure of contrast of an image? It can't. Entropy is not a function of contrast. I'll show why. Time for a bit of basic Information Theory¹: What entropy is, and what happens to it under transformations Definitions Let's define $H(·)$ as the entropy of a source; imagine $X$ is your source picture, $...


2

Excerpted from Jae S.Lim 2D signal and image processing ch.1, as an example of $2$-D circularly symmetric lowpass filter with a cutoff frequency of $\omega_c$ radians per sample, whose impulse response is given by: $$h[n_1,n_2] = \frac{\omega_c}{2\pi \sqrt{n_1^2 + n_2^2} } J_1 \big( \omega_c \sqrt{n_1^2 + n_2^2} \big) $$ where $J_1$ is the Bessel function ...


0

It works ... bitwise. Assume the value of a pixel is $200_{10} = 11001000_2$; then the bitwise not of that simply is $00110111_b=55$. Do that for all pixels. It's not a useful transform in the context of intensities, if you ask me. If the mask was actuall monochromatic (i.e. exactly black or exactly white in each pixel), it would make more sense. So, don'...


6

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


0

Let's say you have a convolution kernel $ f $ and another convolution kernel $ g $. We also have an input signal (1D or 2D) $ x $ and we are after the result of the cascaded convolution: $$ y = g \ast \left( f \ast x \right) $$ The nice thing about convolution is its associativity property. Which means: $$ y = g \ast \left( f \ast x \right) = \left( g \...


0

Bilinear and biquadratic interpolation gives you a $C^0$ interpolating function. That is, a function that is continuous but has a discontinuous first derivative. On the other hand, Bicubic interpolation gives you a $C^1$ interpolating function. That is, a function that is continuous and has a continuous first derivative (the second derivative is ...


3

I've went ahead and basically adjusted the Hough transform example of opencv to your use case. The idea is nice, but since your image already has plenty of edges due to its edgy nature, the edge detection shouldn't have much benefit. So, what I did above said example was Omit the edge detection decompose your input image into color channels and process ...


3

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


2

Rather performance intensive, but should get you accuracy as wanted: Edge detect the image Hough transform to a space where you have enough pixels for the wanted accuracy. Because there are enough orthogonal lines; the image in the hough space will contain maxima lying on two lines. These are easily detectable and give you the desired angle.


0

It is easy to do it in MATLAB (https://www.mathworks.com/help/images/sliding-neighborhood-operations.html) f = @(x) sqrt(min(x(:))); I2 = nlfilter(I,[3 3],f);


0

For computer vision, or any engineering problem, energy is used because it can be relatable to physical quantities. In simple circuits, we know that power is current times the voltage: $$P(t) = I(t)V(t)\tag{1}$$ and energy is the integral of this over time: $$E = \int_{-\infty}^{+\infty} P(t) dt $$ If we assume Ohm's law $$ V(t) = I(t) R$$ holds then (1) ...


0

There are multiple papers dealing with this issue, using similar methods (extrapolation beyond the image edges to create a virtual overlap). Alignment and Mosaicing of Non-Overlapping Images by Yair Poleg & Shmuel Peleg Building a Mosaic from Non-Overlapping Images by Benjamin Choi A Novel Technique for Non-overlapping Image Mosaicing based on Pyramid ...


3

Focus on the first equation for EY. Back in the day when color television was being developed, the color signal had to be compatible with black and white TVs and vice versa. So the compatible brightness signal (luma Y) has to be calculated from the three primary color signals (R, G B) for transmission. Human visual system does not perceive brightnesses of ...


0

If you take an $8\times 8$ matrix (64 elements) to obtain a $63$-length vector, you cannot invert it in general, only by ordering (because one element is missing). You apparently are using the zigzag order from JPEG compression. If you tell us a bit more about your goal, we could probably provide you with a more efficient code (forward and inverse).


1

A 2D FFT consists in comparing 2D data with a discrete set of evenly spaced 2D complex exponentials $e_{u,v}$ (made of a cosine for the real part, and and a sine for the imaginary part). Behind the scene, this comparison is exact: a comparison of a 2D data with enough 2D complex exponentials bears the same information as the original data, albeit easier to ...


0

ll = 1; mm = 2; ac_count = 1; direction = 1; ac_coeff=zeros(1,63); for kk = 3:16 %kk is responsible for the vertical and horizontal tranzitions of the arrow in your sketch if (direction) %indicates movement right or down for ll = max(1,kk-8):min(kk-1,8) %ll is responsible for the diagonal transitions of the arrow in your sketch. note that the diagonal ...


1

The distinction is whether your x-axis is in units of time or units of samples, and if we want our digital system to remain constant with time independent of the sampling rate. Once our system is discrete we often prefer to work in (normalized) units of samples and not have to carry on the extra "step" term, in which case actual time will scale along with ...


2

Just write down the convolution sum to see what's going on: $$y[n]=\sum_{k=-\infty}^{\infty}x[k]p[n-k]\tag{1}$$ where we define the elements of the sequences $x[n]$ and $p[n]$ as equal to zero for the index $n$ outside the range of non-zero values, i.e., outside $n\in[0,2]$. Taking into account those zero values, we can rewrite $(1)$ with finite summation ...


0

In the Total Variation framework we define 2 flavors: $$ \text{Isotropic TV} \; {TV}_{ {L}_{2} } \left( X \right) = \sum_{ij} \sqrt{ { \left( {D}_{h} X \right) }_{ij}^{2} + { \left( {D}_{v} X \right) }_{ij}^{2} } $$ $$ \text{Anisotropic TV} \; {TV}_{ {L}_{1} } \left( X \right) = \sum_{ij} \sqrt{ { \left( {D}_{h} X \right) }_{ij}^{2} } + \sqrt{{ \left( {D}_{...


0

Your misconception is to assume that you can compute Fourier coefficients with the fft. You cannot (really). Fourier coefficients are found by integrating a continuous time (periodic) function after multiplying it with a harmonic kernel. The cosine function gives two real-valued Fourier coefficients equal to half its amplitude in this case. You are ...


0

I can't give you a detailed workflow for it right now, but I'll tell you how I'd go about it: A simple solution would be to color-threshold the image. Your image only uses red and green so it would work quite nicely. I used a red value of 122-255 and a green value of 0-122. This way you obtain a b/w image with the red regions white and the rest of the image ...


0

One simple way to solve it is using Overlapping Patches. Let's say you have image which is $ 20 \times 20 $ and you work on patches of the size $ 5 \times 5 $. As I understand from your description you do 16 times denoising of $ 5 \times 5 $ patches. What you should do is run the patches mask like in convolution. So each pixels (Ignoring boundaries) will ...


0

Why don't you just count the numbers of pixels in each connected structure (by an appropriate definition of connected), and set a threshold on the number of pixels? If it is e.g. below 10 px, it is probably something to be discarded. Only immanent draw back: dot, e.g. on the letter i or as interpunctation could also be dismissed. But it depends on your ...


Top 50 recent answers are included