【AI基础】python:openCV—

发布时间:2019-07-09 09:30:27编辑:auto阅读(1847)

    OpenCV图像的基本操作 :使用包cv2,numpy

    import cv2
    import numpy as np
    
    img = cv2.imread('1.jpg')
    cv2.imshow('image',img)
    k = cv2.waitKey(0)
    
    "把一个RGB图片看成一个3维的数组"
    img2 = img[20:300, 100:400]
    cv2.imshow('img2',img2)
    k = cv2.waitKey(0)
    
    "快速矩阵运算是numpy的优点,批量像素修改不需要使用循环,使用矩阵运算"
    px=img[100,100]
    print(px)
    blue = img[100,100,0]
    print(blue)
    img[100:200,100:200]=[255,255,255]
    print(img[101,101])
    
    cv2.imshow('image',img)
    k = cv2.waitKey(0)
    
    img = cv2.imread('1.jpg')
    
    " img.shape可以获得图像的形状,返回值是一个包含行数,列数,通道数的元组"
    " 灰度图,返回值仅有行数和列数"
    print(img.shape)
    "img.size可以返回图像的像素数目"
    print(img.size)
    
    "图像的特定区域  拷贝操作"
    logo = img[30:130, 330:430]
    img[100:200,100:200] = logo
    cv2.imshow('image',img)
    k = cv2.waitKey(0)
    
    "拆分及合并图像通道  对RGB三个通道分别操作"
    "cv2.split()是比较耗时的操作,能用numpy就尽量使用"
    r,g,b=cv2.split(img)#拆分
    #img=cv2.merge(r,g,b)#合并
    cv2.imshow('b',b)
    k = cv2.waitKey(0)
    
    img[:,:,2]=0
    cv2.imshow('img',img)
    k = cv2.waitKey(0)
    

关键字

上一篇: 理解CSS3属性transition

下一篇: security NO.3