什么是 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 中使用:
- 指定尺寸缩放
importcv2 img=cv2.imread("1.png")img_new=cv2.resize(img,(500,500))#可以通过改变()内的数字改变图片尺寸(500,500):缩放后的图片尺寸,表示:
宽度 = 500 像素
高度 = 500 像素
img_new:保存缩放后的图片
- 按比例缩放
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))的码