在线画流程图的网站,福田附件网站建设公司,开个小门面装修找谁,虚拟资源下载源码wordpress在图像处理与计算机视觉领域#xff0c;OpenCV#xff08;Open Source Computer Vision Library#xff09;无疑是最为强大且广泛使用的工具之一。从基础的图像读取、 1.图片的上下#xff0c;采样
下采样#xff08;Downsampling#xff09;
下采样通常用于减小图像的…在图像处理与计算机视觉领域OpenCVOpen Source Computer Vision Library无疑是最为强大且广泛使用的工具之一。从基础的图像读取、 1.图片的上下采样
下采样Downsampling
下采样通常用于减小图像的尺寸从而减少图像中的像素数。这个过程可以通过多种方法实现但最常见的是通过图像金字塔中的pyrDown函数在OpenCV中或其他类似的滤波器如平均池化、最大池化等。pyrDown函数基于高斯金字塔的概念通过平滑和子采样即每隔一行和一列取一个像素来减小图像尺寸。下采样通常用于特征提取、图像压缩或预处理阶段以减少计算量。
上采样Upsampling
上采样是下采样的逆过程用于增加图像的尺寸从而增加图像中的像素数。然而简单地插入新的像素如最近邻插值通常会导致图像质量下降因为新插入的像素值可能是未经处理的或基于简单规则的如直接复制最近的像素值。因此更复杂的插值方法如双线性插值、双三次插值或上采样算法如OpenCV中的pyrUp函数被用来生成更平滑、更自然的图像。pyrUp函数也是基于图像金字塔的概念但它试图通过插值和放大来重建原始图像的细节。然而需要注意的是由于上采样过程中引入了新的像素值因此通常无法完全恢复到原始图像的精确像素值。
实例
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.图像直方图绘制 灰度图像直方图 使用 cv2.calcHist 计算灰度图像的直方图。使用 plt.plot 绘制直方图并设置图形标题、x轴和y轴标签。彩色图像直方图 读取彩色图像。遍历蓝色、绿色和红色通道。对每个颜色通道使用 cv2.calcHist 计算直方图。使用 plt.plot 绘制每个通道的直方图并使用 plt.setp 隐藏x轴标签以避免重叠。设置图形标题、y轴标签和图例。
phone cv2.imread(../day07/phone.png, cv2.IMREAD_GRAYSCALE)a phone.ravel()
# 参数解释:
# - a:一维数组即像的像素值组成的数组。
# - bins256:指定直方图的条数即灰度级的数量。
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, colorcol)plt.show()