读、写、显示

学习最基础的opencv操作

opencv学习导入一张图片

#导入cv2的库

复制代码
import cv2

#读取图片(读取图片的1/2)

复制代码
img=cv2.imread("lena.jpg",cv2.IMREAD_REDUCED_COLOR_2)

#显示图片

复制代码
cv2.imshow("lena",img)

#设定显示时间

复制代码
cv2.waitKey(0)

结果展示:

#1/8结果

观察可以发现图片越来越模糊,代表像素越来越少,所以会变得模糊

此外我们还可以使用numpy库来自己创建全黑全白全灰的图片

#导入cv2库

#导入numpy库并命名为np

复制代码
import numpy as np
import cv2

#创建大小为50*50的黑色正方形图像

复制代码
img=np.zeros((50,50),dtype=np.uint8)

#展示结果

复制代码
cv2.imshow("black:50*50",img)

#设定展示时间(0秒代表一直显示)

复制代码
cv2.waitKey(0)

提高,让我们来创建一个800*800的黑色幕布,把512*512大小的lena放到幕布上边去

第一步:导入库

复制代码
import cv2

import numpy as np

第二步:创建和读取图片

#设定图片大小

复制代码
img=cv2.imread("lena",cv2.IMREAD_COLOR)

img=cv2.resize(img,(512,512))

#这里的黑色背景依然可以用这种方式实现

复制代码
img_black=np.zeros((50,50,3),dtype=np.uint8)

img_black=cv2.resize(img_black,(800,800))

#合并图片

复制代码
img_black[0:512,0:512]=img
复制代码
cv2.imshow("jg",img_black)

cvw.waitKey(0)

如果想移动图片很简单直接改(这样可以把图片移动到右上角→右下角→左下角)

复制代码
img_black[218:800,0:512]=img
复制代码
img_black[218:800,218:800]=img
复制代码
img_black[0:512,218:800]=img