opencv plt.xticks
时间: 2023-10-10 15:04:47 浏览: 58
The `plt.xticks()` function in OpenCV is used to set the x-axis tick locations and labels for a plot. It takes two parameters:
- `ticks`: A list or array of tick locations.
- `labels`: A list or array of tick labels.
Example usage:
```python
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("image.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray, cmap='gray')
plt.xticks([0, 50, 100, 150, 200], ['0', '50', '100', '150', '200'])
plt.show()
```
In this example, we are setting the tick locations to be at 0, 50, 100, 150, and 200 on the x-axis, and labeling them accordingly.
相关问题
import cv2 import numpy as np from matplotlib import pyplot as plt # 读取原始图像 image = cv2.imread('D:\\QMJC\\2023.7.12\\TIAOWEN\\AVERAGE\\30A.png', 0) # 进行二维离散傅里叶变换(DFT) dft = cv2.dft(np.float32(image), flags=cv2.DFT_COMPLEX_OUTPUT) dft_shift = np.fft.fftshift(dft) # 创建高通滤波器 rows, cols = image.shape crow, ccol = rows // 2, cols // 2 # 中心点 mask = np.ones((rows, cols, 2), np.uint8) mask[crow - 30: crow + 30, ccol - 30: ccol + 30] = 0 # 选择中心区域,半径为30 # 应用滤波器 fshift = dft_shift * mask # 进行逆移位操作 f_ishift = np.fft.ifftshift(fshift) # 进行逆傅里叶变换(IDFT) filtered_image = cv2.idft(f_ishift) filtered_image = cv2.magnitude(filtered_image[:, :, 0], filtered_image[:, :, 1]) cv2.imwrite('D:\\QMJC\\2023.7.12\\TIAOWEN\\IMAGE\\000.png',filtered_image) # 显示原始图像和滤波后的图像 plt.subplot(121), plt.imshow(image, cmap='gray') plt.title('Original Image'), plt.xticks([]), plt.yticks([]) plt.subplot(122), plt.imshow(filtered_image, cmap='gray') plt.title('Filtered Image'), plt.xticks([]), plt.yticks([]) plt.show()
代码看起来基本正确,您使用了OpenCV库进行了傅里叶变换和滤波操作,然后使用Matplotlib库进行图像显示。您选择了半径为30的中心区域作为高通滤波器的掩码,并应用于傅里叶变换后的频域图像。最后,通过逆傅里叶变换将滤波后的频域图像转换回空域。
请确保图像路径正确,并且您已经安装了必要的库。如果代码运行出现问题,请检查路径、库的版本等方面是否有误。
如果您有其他问题或疑问,请随时提问。
import cv2 from skimage.io import imsave import glob # 有助于文件的遍历 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['simhei'] # 添加中文字体为简黑 plt.rcParams['axes.unicode_minus'] =False import os # In[2]:图像处理 # (1)获取指定文件夹的图像文件名列表 str1 = '01ImagesIN/' str2 = '01ImagesOUT/' img_list = glob.glob(str1 + '*.png') img_list = img_list + glob.glob(str1 + '*.jpg') img_list = img_list + glob.glob(str1 + '*.jpeg') # (2)遍历文件名列表的每个文件 for i, img_path in enumerate(img_list): # A.以灰度模式读取原始图像、可视化 # cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。 # cv2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0。 # cv2.IMREAD_UNCHANGED:包括alpha,可以直接写-1 print('%d----'%(i+1), img_path) (filepath,tempfilename) = os.path.split(img_path) (Myfilename,extension) = os.path.splitext(tempfilename) # 分离文件名的后缀 # ===后面会使用分离出的文件名Myfilename,生成其它的文件名 imgIn = cv2.imread(img_path) plt.figure(figsize = (10,10)) plt.imshow(imgIn) plt.title('输入图像--'+ Myfilename, size = 20) plt.xticks([]) plt.yticks([]) plt.show() # 将该图像转存为至其它位置,文件名是在Myfilename基础上产生的 imsave(str2+ Myfilename +'_out.jpeg',imgIn )的详解
这段代码主要是导入了OpenCV和scikit-image库中的一些函数和模块,以便在Python程序中使用它们。
其中,import cv2语句用于导入OpenCV库,该库是一个广泛应用的计算机视觉库,提供了丰富的图像处理、分析和机器学习功能。
从skimage.io模块中导入了imsave函数,该函数用于保存图像。glob模块则用于匹配文件路径,可以帮助程序自动批量处理多个文件。
阅读全文