OpenCV 图像处理基础

📅 2026/8/1 5:18:57 👁️ 阅读次数 📝 编程学习
OpenCV 图像处理基础

什么是 OpenCV?(Open Source Computer Vision Library)是一个用于计算机视觉和图像处理的 Python 库。

一、图片读取

图片读取是 OpenCV 中最基础的图像处理操作,用于将硬盘中的图片加载到 Python 程序中。

importcv2 img=cv2.imread("1.png")

cv2.imread():OpenCV 提供的图片读取函数
“1.png”:要读取的图片路径
img:保存读取后的图片数据
OpenCV 默认读取彩色图片时采用 B(蓝色)G(绿色)R(红色)格式
如果要读取灰度图片则要.IMREAD_GRAYSCALE

img=cv2.imread("1.png",cv2.IMREAD_GRAYSCALE)


二、图片缩放

图片缩放是 OpenCV 中常用的图像处理操作,用于改变图片的尺寸大小。
在 OpenCV 中使用:

  1. 指定尺寸缩放
importcv2 img=cv2.imread("1.png")img_new=cv2.resize(img,(500,500))#可以通过改变()内的数字改变图片尺寸

(500,500):缩放后的图片尺寸,表示:
宽度 = 500 像素
高度 = 500 像素
img_new:保存缩放后的图片

  1. 按比例缩放
    OpenCV 也可以通过比例参数缩放:
img_new=cv2.resize(img,None,fx=0.5,fy=0.5)

其中:
fx:水平方向缩放比例
fy:垂直方向缩放比例
显示缩放后的图片

cv2.imshow('img_new',img_new)cv2.waitKey(0)cv2.destroyAllWindows()

imshow():显示图片
waitKey(0):等待键盘输入
destroyAllWindows():关闭窗口

三、图像打码

图片打码是 OpenCV 中利用像素区域替换实现的一种图像处理方法。通过修改图片指定区域的像素值,可以将原区域覆盖,从而达到隐藏信息的效果。
示例代码:

a=cv2.imread(r"1.png")xxx=np.random.randint(0,256,(3,3))print(xxx)a[40:140,540:605]=np.random.randint(0,256,(100,65,3))cv2.imshow('masaike',a)cv2.waitKey(0)cv2.destroyAllWindows()

xxx=np.random.randint(0,256,(3,3))生成一个 3×3 的随机整数矩阵。
a[40:140,540:605] = np.random.randint(0,256,(100,65,3)):
在a[40:140,540:605] 处打(0,256,(100,65,3))的码