我正在尝试从这张图片中提取条纹区域。
这是我想要提取的区域。
可能有多种方法,也许可以结合使用。
这段文字的大致意思是:这组图像基于它们的路面类型和涂料新旧是独特的。通常情况下,涂料已经磨损。尽管存在所有这些变化,FFT图像始终为我提供正确的方向和频率。结果看起来很有前途,我可以直观地看到模式的频率以及它们的方向(图像中主要垂直模式)。如何使用FFT图像来过滤其他区域?欢迎使用其他方法提出建议。
- 使用阈值处理、形态学和Grabcut操作提取条纹
- Gabor滤波器
- 傅里叶变换
如何从fft2变换中检测条纹的方向。
import numpy as np
import cv2
import os
import sys
from matplotlib import pyplot as plt
plt.figure(figsize=(12, 12))
gray = cv2.imread('zebra.jpg',0)
f = np.fft.fft2(gray)
fshift = np.fft.fftshift(f)
magnitude_spectrum = 20*np.log(np.abs(fshift))
imgs_comb = np.hstack([gray,magnitude_spectrum])
plt.axis('off')
plt.title('magnitude_spectrum')
plt.imshow(imgs_comb,cmap='gray')
plt.show()
这段文字的大致意思是:这组图像基于它们的路面类型和涂料新旧是独特的。通常情况下,涂料已经磨损。尽管存在所有这些变化,FFT图像始终为我提供正确的方向和频率。结果看起来很有前途,我可以直观地看到模式的频率以及它们的方向(图像中主要垂直模式)。如何使用FFT图像来过滤其他区域?欢迎使用其他方法提出建议。