文章检索
文章检索
文章检索
轮极熙域  -  追求简约

一个属于自己的网络空间,分享学习、技术、新闻、热点、生活等乱七八糟的东西,也是一个默默奋斗的“收藏夹”。

opencv图像基本操作 | python
时间:2019-12-14 作者:半凡烟竹 标签:python

图片操作

引入opencv库

from cv2 import cv2

读取图片(绝对路径、相对路径)

img = cv2.imread("test.jpg")

读取灰度信息

img = cv2.imread("test.jpg",cv2.IMREAD_GRAYSCALE)

输出图片(矩阵)

print(img)

窗口显示图片(在三(四)通道下显示为彩色,单通道下显示为灰色)

cv2.imshow("test", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出图片信息(长、宽、维度)

print(img.shape)

输出像素个数

print(img.size)

保存图片(绝对路径、相对路径)

cv2.imwrite("out.jpg", img)

读取感兴趣的窗口(纵向、横向)

img2 = img[50:200, 100:400]

通道分离

b,g,r = cv2.split(img)

通道合并(b,g,r有顺序要求,且只能是三个,可多一个透明度?)

img3 = cv2.merge((b, g, r))

边界填充

top_size = 100
bottom_size = 100
left_size = 100
right_size = 100
relicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) #最后为填充方式

对像素点进行加减

img4=img + 10

改变图片大小(不固定长宽比)

img5=cv2.resize(img, (300,300))

图片融合

img6=cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
img7=img[:,:,2]
img8 = cv2.addWeighted(img7, 0.5, img6, 0.9, 0) #透明度,最后一个为额外的标量


视频操作

引入opencv库

from cv2 import cv2

读取视频

如果没有参数,则打开默认摄像头

vc = cv2.VideoCapture("C:/Users/pc/Desktop/test.mp4")

判断是否能读取视频(先读取一帧看一看返回结果)

if vc.isOpened():
    open, frame = vc.read()
else:
    open = False

显示视频(无声音)

while open:
    ret, frame = vc.read()
    if frame is None:
        break
    if ret == True:
        #转换成灰度图
        gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
        cv2.imshow("result", gray)
        if cv2.waitKey(25) & 0xff == 27:
            break
vc.release()
cv2.destroyAllWindows()



© 2018-2019 upwill.cn 版权所有 | ICP备案号:冀ICP备18006040号-1| 冀公网安备 13018402000194号