Episode #125 of the Stack Overflow podcast is here. We talk Tilde Club and mechanical keyboards. Listen now
2

Histograms of images can differ, widely. However, when features are inspected, one often uses derivative filters at different scales, or morphological decompositions, or independent component analysis. A traditional and heuristic model for the resulting coefficients of a component is that of the Generalized Gaussian-Laplacian Distribution, or GGD: $$ C_{...


2

If I understand you correctly, what you are asking for is called camera response function (CRF) and in general it is nonlinear and depends on camera device. For fixed device denote its CRF by $f$. Then $f$ maps the set of possible scene irradiances (or illuminances) $\mathcal{I}$ at a given spatial location to the set of possible pixel intensity values $\...


2

You can use the following variance of Laplacian responses: cv2.Laplacian(gray_image, cv2.CV_64F).var() More details at https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/


2

Neither. To me, filter classes using the notion of frequency bands (low-pass, high-pass, etc.) can be used safely in the linear case. And the bilateral filter is nonlinear. Edges are not really high-frequency: they often have sharp variations across the edge, but slow variation along it. I would consider the bilateral filter as an edge-preserving smoother, ...


2

While it can be done in Frequency Domain it requires delicate handling of the edges (Discrete Frequency Domain assumes Periodic Signals). Hence I think the best approach is to build this problem as an optimization problem in spatial domain. The Graident with Respect to the Convolution Kernel Given the objective function: $$ \frac{1}{2} {\left\| h \ast x -...


2

Take Fourier Transform of both original image and blurred image, then divide Fourier transform of blurred image by Fourier transform of original image. This will give you the Fourier transform of kernel (except at frequencies with zero value which lead to division by zero). Then take inverse Fourier transform and find the kernel in spatial domain.


2

I figured it ouy. In order to display DFT image properly they need to be log scaled. I used the log transformation s = c*log(1+r) where r is your normalized input image, and c is a constant. Plot s and you will be able to see the DFT correctly. %Log transform of DFT Image normalized_dftImage_F_uv = F_uv_dftImage/255; c1 = 1; s_LogTransform_F_uv_dftImage = ...


2

A $2$-channel stage of a wavelet transform, combines two filters in parallel, followed by a down-sampling by two. The later is the cause for shift-invariance, as the filters are time-invariant. Signals $$x_0[n] = \{\ldots,0,1,0,1,0,1,\ldots\}$$ and $$x_1[n] = \{\ldots,1,0,1,0,1,0,\ldots\}$$ which are shifted by only one sample, yield respectively $$y_0[n] =...


2

Actually the down sampling has no role here. It is all based on a real simple equation: $$ I = A + B $$ It is always enough to keep 2 terms of the 3 to restore completely and perfectly the information. So let's look on this: $$ {I}_{0} = \left( \left( {I}_{0} \downarrow \right) \uparrow \right) + {R}_{0} $$ So if we keep $ {R}_{0} $ and we have $ \left( ...


2

First of all, thanks for sharing this problem. I hope it can foster some good discussions here at stack-exchange. I guess this problem is commonly called Multi-Focus Multi-Image Fusion (MF-MIF). Let's look at all the images together with their grayscale histograms and the gradient magnitude (information content in each image): As the original question ...


2

Because wo want to get the centroid of the image(a block/patch) by the intensity. m00:p = q = 0,sum the intensity matrix. m10:p =1,q = 0,sum of the x-direction. m01:p = 0,q = 1,sum of the y-direction. (m10/m00,m01/m00) is the centroid.


1

A very simple example on a $2\times 2$ image $$I_0=\begin{bmatrix}a&b\\c&d\end{bmatrix}$$ with (very crude Gaussian) low-pass: $$g=1/4\begin{bmatrix}1&1\\1&1\end{bmatrix}$$ yields a downsampled $I_1$ after filtering, with only one pixel (out of 4): $$I_1=\begin{bmatrix}(a+b+c+d/4)\end{bmatrix}$$ It can be upsampled as: $$U(I_1) = I_1^\...


1

Basically each pixel is a realization so all you need is to work in the 3rd dimension (Though you can also get better by using the Spatial Data). Method 1 So the trick here is to use the multiple images to estimate the Mean (True value) of each pixel and then calculate the STD on all samples (numRows * numCols * numRealizations). Assuming we have single ...


1

Let $ R $ be a random variable and $ S = T \left( R \right) $ where $ T \left( \cdot \right) $ is a one to one continuous transformation on the domain of $ R $. Since it is one to one transformation it must be strictly monotone. Let's test the 2 possible cases. The Transformation $ T \left( \cdot \right) $ Is Strictly Increasing Utilizing the function ...


1

Let $R$ be the random variable "intensity" with probability density function $f_R(r)$ ($=p_r$). That implies that $R$ also has a cumulative density function $F_R(r) = P(R \le r) = \int_{-\infty}^r f_R(u)\,\mathrm du$. Let $S = T(R)$ be another random variable, the transformed version of $R$, with the transformation mapping $s=T(R)$ smooth and monotonous¹. ...


1

I would say, in general, that Dynamic Range is a property of the measuring device while contrast is a property of the signal measures assuming it is withing the Dynamic Range of the measuring device. Let's have an example. Imagine our dynamic range is measures as 8 bits system (We can derive that from having a sensor with ~48 [dB] DR). So we have values in ...


1

Bilateral Filter is indeed an Edge Preserving Filter. Moreover, due to being Spatially Variant Non Linear Filter it can be applied using Fourier Transform. Since it has no representation in Frequency Domain it is not well defined how to classify it into one of the categories: LPF, HPF, BPF or BSF. Nonetheless, let's try doing some analysis based on ...


1

The spatial resolving capability of an optical system refers to its ability to distingusih between closest (and possibly tiniest) details. The distance between a pair of lines, yields a measure of how small the distance between them can be while they are still sperated from each other. Resolution depends on several factors such as brightness level, color, ...


1

At each pixel $p$, this $2\times 2$ matrix summarizes the local behavior of the image (structure) inside a neighborhood of pixel $p$ (a neighborhood weighted by function $w$. From this matrix, different quantities can be computed, that provide interesting attributes for image analysis. Structure tensors, or second-order matrices, have been used for image ...


1

On a regular 2D grid of pixels, there are essentially two possibilities to look at the neighborhood of a given pixel (in black below), or pixel connectivity: the 8-pixel connectivity (left, or Moore neighborhood), and the 4-pixel connectivity (right, von Neumann neighborhood). Four- and eight-adjacencies are other common terms. The first one gives the same ...


1

If your image is modeled as an image which is noisy, blurry and heavily decimated the optimal thing to do is estimate the image given that model. The model is well defined in @Laurent Duval's answer. I'd remark that in most real world cases the blurring is spatially variant hence it can't be modeled by convolution (Well, it is a generalized convolution). ...


1

turn to float first!!!!!!!! turn to float first!!!!!!!! turn to float first!!!!!!!! def compute_psnr(img1, img2): img1 = img1.astype(np.float64) / 255. img2 = img2.astype(np.float64) / 255. mse = np.mean((img1 - img2) ** 2) if mse == 0: return "Same Image" return 10 * math.log10(1. / mse)


1

I actually ran into this same paper and had the same problem. The paper linked below does a good job addressing the issue. Starting on page 13 the discuss the issue with this optical element. https://mstamenk.github.io/assets/files/OpticalRadon.pdf


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