OpenCV高阶操作

在图像处理与计算机视觉领域,OpenCV(Open Source Computer Vision Library)无疑是最为强大且广泛使用的工具之一。从基础的图像读取、

1.图片的上下,采样

下采样(Downsampling)

下采样通常用于减小图像的尺寸,从而减少图像中的像素数。这个过程可以通过多种方法实现,但最常见的是通过图像金字塔中的pyrDown函数(在OpenCV中)或其他类似的滤波器(如平均池化、最大池化等)。pyrDown函数基于高斯金字塔的概念,通过平滑和子采样(即每隔一行和一列取一个像素)来减小图像尺寸。下采样通常用于特征提取、图像压缩或预处理阶段以减少计算量。

上采样(Upsampling)

上采样是下采样的逆过程,用于增加图像的尺寸,从而增加图像中的像素数。然而,简单地插入新的像素(如最近邻插值)通常会导致图像质量下降,因为新插入的像素值可能是未经处理的或基于简单规则的(如直接复制最近的像素值)。因此,更复杂的插值方法(如双线性插值、双三次插值)或上采样算法(如OpenCV中的pyrUp函数)被用来生成更平滑、更自然的图像。pyrUp函数也是基于图像金字塔的概念,但它试图通过插值和放大来重建原始图像的细节。然而,需要注意的是,由于上采样过程中引入了新的像素值,因此通常无法完全恢复到原始图像的精确像素值。

实例:

python 复制代码
import cv2
face = cv2.imread('kele.png',cv2.IMREAD_GRAYSCALE)
cv2.imshow('face',face)
cv2.waitKey(0)
face_down_1 = cv2.pyrDown(face)
cv2.imshow('face1',face_down_1)
cv2.waitKey(0)
face_down_2 = cv2.pyrDown(face_down_1)
cv2.imshow('face2',face_down_2)
cv2.waitKey(0)
#
face_up_1 = cv2.pyrUp(face)
cv2.imshow('up1',face_up_1)
cv2.waitKey(0)
face_up_2 = cv2.pyrUp(face_up_1)
cv2.imshow('up2',face_up_2)
cv2.waitKey(0)

2.图像直方图绘制

  1. 灰度图像直方图
    • 使用 cv2.calcHist 计算灰度图像的直方图。
    • 使用 plt.plot 绘制直方图,并设置图形标题、x轴和y轴标签。
  2. 彩色图像直方图
    • 读取彩色图像。
    • 遍历蓝色、绿色和红色通道。
    • 对每个颜色通道使用 cv2.calcHist 计算直方图。
    • 使用 plt.plot 绘制每个通道的直方图,并使用 plt.setp 隐藏x轴标签以避免重叠。
    • 设置图形标题、y轴标签和图例。
python 复制代码
phone = cv2.imread('../day07/phone.png', cv2.IMREAD_GRAYSCALE)

a = phone.ravel()
# 参数解释:
# - a:一维数组,即像的像素值组成的数组。
# - bins=256:指定直方图的条数,即灰度级的数量。
plt.show()
phone_hist = cv2.calcHist([phone], [0], None, [16], [0, 256])
plt.plot(phone_hist)  # 使用calcHist的值绘制曲线图
plt.show()

img = cv2.imread('../day07/phone.png')
color = ('b','g','r')
for i, col in enumerate(color):
    histr = cv2.calcHist([img], [i], None,[256], [0, 256])
    plt.plot(histr, color=col)

plt.show()

相关推荐
木头左几秒前
LSTM量化交易策略中时间序列预测的关键输入参数分析与Python实现
人工智能·python·lstm
king王一帅13 分钟前
流式渲染 Incremark、ant-design-x markdown、streammarkdown-vue 全流程方案对比
前端·javascript·人工智能
AI营销实验室15 分钟前
AI CRM系统推荐,原圈科技赋能地产销售
人工智能·科技
cskywit37 分钟前
MobileMamba中的小波分析
人工智能·深度学习
ws20190738 分钟前
智行未来,科技驱动:AUTO TECH China 2026广州展将于11月27日举办!
人工智能·科技·汽车
HyperAI超神经1 小时前
【vLLM 学习】Prithvi Geospatial Mae
人工智能·python·深度学习·学习·大语言模型·gpu·vllm
赫凯1 小时前
【强化学习】第一章 强化学习初探
人工智能·python·强化学习
百锦再1 小时前
AI赋能智慧客服与人工客服融合系统企业级方案
人工智能·ai·aigc·模型·自然语言·赋能·只能
"YOUDIG"1 小时前
AI智能匹配:一站式电脑配置推荐平台——科学原理与个性化服务解析
人工智能
AI视觉网奇1 小时前
图像编码成特征向量
人工智能·计算机视觉