OpenCV—安装OpenCV、图像保存与加载、numpy数组的操作

安装OpenCV

首先  先下载一个whl文件,关于opencv的,
下载地址在这里:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 

其次 导包 只是pip 时候名字对应,跟自己python3.x,win_xx对应就好 下完了
放到conda对应的文件夹里: d:\Anadonda3\Lib\site-packages 
在该目录下,shift+右键,打开命令行: 输入(根据自己下载的版本3.4.x) 
pip install opencv_python-3.4.0-cp36-cp36m-win_amd64.whl 
Successfully

最后检查一下:
在cmd里键入: 
python import cv2
如果没报错,那就安装成功喽 ~~

图像保存与加载

opencv基础知识直接上代码:

import cv2 as cv
import numpy as np


def get_image_info(image):  # 图像相关的信息
    print(type(image))
    print(image.shape) # 获取shape信息
    print(image.size)
    print(image.dtype) # 编码类型
    pixel_data = np.array(image)
    print(pixel_data)


def video_demo():  # 读取摄像头
    capture = cv.VideoCapture(0) # 打开电脑的摄像机
    while(True):
        ret, frame = capture.read() # frame 获取的镜像的图像
        frame = cv.fill(frame, 1) # 左右翻转
        cv.imshow("video", frame)
        c = cv.waitKey(50)
        if c == 27:
            break


src = cv.imread("D:/JetBrains/PyCharm 2019.1.3/PycharmProjects/Study/opencv_study/Penguins.jpg") # 读取图像
cv.namedWindow("input img", cv.WINDOW_AUTOSIZE)
cv.imshow("input img", src) # 显示图像
get_image_info(src)
#  video_demo()
cv.imwrite("C:/Users/Administrator/Desktop/1.png", src)
cv.waitKey(0)

cv.destroyAllWindows()

numpy数组的操作

np.zers()与np.ones()都是初始化图像,只不过zeros初始化的为0,ones的初始化为1.

cv.bitwise_not(src, dst=None, mask=None) 对象像素进行取反

import cv2 as cv
import numpy as np


def access_pixels(image):
    print(image.shape)
    height = image.shape[0]  # 形状的第一个维度是高度
    width = image.shape[1] # 形状的第二个维度是宽度
    channels = image.shape[2]  # 通道数目
    print("width: %s, height: %s, channels: %s"%(height, width, channels))
    # 循环每个像素
    for row in range(height):
        for col in range(width):
            for c in range(channels):
                pv = image[row, col, c]
                image[row, col, c] = 255 - pv
    cv.imshow("pixel_demo", image)


def insrvr(ima):
    dec = cv.bitwise_not(ima)  # 像素取反  同上函数作用 但这个会快很多
    cv.imshow("imaged", dec)


def creat_image():
    img = np.zeros([400, 400, 3], np.uint8) # 初始化0,创建图像(3通道的)
    img[: , :, 0] = np.ones([400, 400]*255) # 初始化1,给他的第一个通道复制
    cv.imshow("new imamg", img)


src = cv.imread("D:/JetBrains/PyCharm 2019.1.3/PycharmProjects/Study/opencv_study/Penguins.jpg")
cv.namedWindow("input img", cv.WINDOW_AUTOSIZE)
cv.imshow("input img", src)
t1 = cv.getTickCount() # 获取当前运行本句的时间
insrvr(src)
t2 = cv.getTickCount()
time = (t2-t1)/cv.getTickCount()*1000
print("time:%s"%(time))

cv.waitKey(0)
cv.destroyAllWindows()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值