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()

相关推荐
2601_955363158 小时前
B端企业拓客:如何在精准度与成本之间找到真正平衡?氪迹科技法人股东号码核验系统,阶梯式价格
大数据·人工智能
OPHKVPS8 小时前
谷歌威胁情报报告:威胁行为者已将AI直接融入实际网络攻击流程
人工智能
白露与泡影8 小时前
百度大模型二面:有微调过 Agent 能力吗?数据集如何收集?
人工智能
易知微EasyV数据可视化8 小时前
数字孪生+AI:牧场全产业链监管中心:整合改造产业结构,数智建设科技牧场
人工智能·经验分享·数字孪生·空间智能
不懒不懒8 小时前
【OpenCV 计算机视觉四大核心实战:从背景建模到目标跟踪】
人工智能·python·opencv·机器学习·计算机视觉
CCC:CarCrazeCurator8 小时前
基于 VLA 的自动驾驶轨迹规划:从思路到落地的实践之路
人工智能·机器学习·自动驾驶
极智Al中转8 小时前
grok-video-3视频生成API深度对接与工程化实践
人工智能·音视频
chatexcel8 小时前
ChatExcel AIPPT新功能:自定义模板上传,动画完整导出,单页可编辑
大数据·人工智能
老陈测评8 小时前
深度测评|SupMed 超超:AI 重构医疗服务新范式,专业与普惠双线领跑行业
人工智能·重构
fundroid8 小时前
Superpowers 如何帮助 AI Coding 走上正轨
人工智能·aicoding·superpowsers