目录

 

1.用opencv打开一张图片

2.图像的加载与保存

3.创建一张图片

1.用opencv打开一张图片

"""打开一张图片并显示
环境pycharm2017
opencv3
2019年6月9号23:28
"""
import cv2 as cv #将opencv导入进来并命名为cv
src = cv.imread("E:\jre\j3417.jpg")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)#创建一个窗口
cv.imshow("input image",src)#显示打开的图片
cv.waitKey(0)#等待用户的响应操作,如果没有这句话的话,图片会一闪而过
cv.destroyAllWindows()#释放所有窗口

2.图像的加载与保存

1.读取图像大小信息

"""打开一张图片并显示
环境pycharm2017
opencv3
2019年6月9号23:28
"""
import cv2 as cv  # 将opencv导入进来并命名为cv
def get_image_info(image):
    print(type(image))#打印出图片类型
    print(image.shape)#打印图像的高宽和通道数目
    print(image.size)#打印出图像的大小
    print(image.dtype)#打印出字节位数占多少
src = cv.imread("E:\jre\j3417.jpg")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)#创建一个窗口
cv.imshow("input image",src)#显示打开的图片
get_image_info(src)#经图片作为参数传入函数
cv.waitKey(0)#等待用户的响应操作,如果没有这句话的话,图片会一闪而过
cv.destroyAllWindows()#释放所有窗口

2.opencv读取视频

"""opencv
显示视频环境pycharm2017
opencv3
2019年6月9号23:28
"""
import cv2 as cv  # 将opencv导入进来并命名为cv
import numpy as np#导入科学计数包


def video_demo():
    capture = cv.VideoCapture(0)#打开相机,括号里可以填写视频路径同样可以
    while(True):
        ret,frame = capture.read()#视频当中的每一帧
        #cv.flip(frame,1)#flip镜像变换,左右颠倒
        cv.imshow("video",frame)
        c = cv.waitKey(50)#50毫秒响应一个用户的操作
        if c==27:
            break

def get_image_info(image):
    print(type(image))#打印出图片类型
    print(image.shape)#打印图像的高宽和通道数目
    print(image.size)#打印出图像的大小
    print(image.dtype)#打印出字节位数占多少
    pixel_data = np.array(image)#获取所有的像素数据
    print(pixel_data)#将像素数据显示出来
src = cv.imread("E:\jre\j3417.jpg")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)#创建一个窗口
cv.imshow("input image",src)#显示打开的图片
#get_image_info(src)#经图片作为参数传入函数
video_demo()#经图片作为参数传入函数
cv.waitKey(0)#等待用户的响应操作,如果没有这句话的话,图片会一闪而过
cv.destroyAllWindows()#释放所有窗口

3.创建一张图片

"""
定义通道数值显示一张图片
环境pycharm2017
opencv3
2019年 6月13日
"""
import cv2 as cv
import numpy as np

def create_image():#创建新的图像

    #多通道:RGB图像
    img = np.zeros([400, 400, 3], np.uint8)     #长和宽都是400,通道数是3
    img[: , : , 0] = np.ones([400, 400]) * 255   #第一通道乘以255显示蓝色,前面括号里不写的话默认是整个的
    #img[: , : , 1] = np.ones([400, 400]) * 255   #第二通道显示绿色
    #img[: , : , 2] = np.ones([400, 400]) * 255   #第三个通道进行赋值,显示红色
    cv.imshow("new image", img)                 #显示窗口
    cv.imwrite("D:/myImage.png", img)  #保存图片
create_image()
cv.waitKey(0)
cv.destroyAllWindows()