Python+OpenCV(二)——Numpy模块

Python+OpenCV(二)——Numpy模块

学习视频:python+opencv3.3视频教学 基础入门
前一节学习记录:
Python+OpenCV(一)——基础操作
Python+OpenCV(三)——色彩空间
Python+OpenCV(四)——像素运算
Python+OpenCV(五)——ROI和泛洪填充
Python+OpenCV(六)——均值/中值/自定义/高斯模糊、高斯噪声处理、高斯双边滤波
Python+OpenCV(七)——直方图及其应用
Python+OpenCV(八)——图像二值化
Python+OpenCV(九)——图像金字塔、图像梯度
Python+OpenCV(十)——Canny边缘提取
Python+OpenCV(十一)——直线检测、圆检测
Python+OpenCV(十二)——轮廓发现
Python+OpenCV(十三)——对象测量
Python+OpenCV(十四)——膨胀与腐蚀
Python+OpenCV(十五)——开闭操作
Python+OpenCV(十六)——顶帽、黑帽
Python+OpenCV(十七)——人脸识别
Python+OpenCV(十八)——数字/字母验证码识别

源码如下:

# -*- coding = utf-8 -*-
# @Time : 2021/7/30 20:24
# @Author : 西兰花
# @File : OpenCV02.py
# @Software : PyCharm

import cv2 as cv
import numpy as np


def access_pixel(image):    # 修改像素函数
    print(image.shape)
    height = image.shape[0]     # 列
    width = image.shape[1]      # 行
    channels = image.shape[2]   # 通道
    print("height : %s, width : %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

    # 使用bitwise_not()函数将所有像素值取反,函数执行更高效
    image = cv.bitwise_not(image)
    cv.imshow("pixels_demo", image)


def create_image():
    """
    img = np.zeros([300, 300, 3], np.uint8)    # 创建一个有3个通道的图像
    img[:, :, 0] = np.ones([300, 300]) * 255   # 第一条通道都赋值为255,就是blue
    img[:, :, 1] = np.ones([300, 300]) * 255   # 第二条通道都赋值为255,就是green
    img[:, :, 2] = np.ones([300, 300]) * 255   # 第三条通道都赋值为255,就是red
                                               # 如果三条通道同时都赋值为255,就是white
    cv.imshow("new image", img)


    img = np.ones([300, 500, 1], np.uint8)     # 创建1通道图像,初始化
    img = img * 0
    cv.imshow("new image", img)
    cv.imwrite("C:/Users/Administrator/Pictures/PS/newImage.jpg", img)

    m1 = np.ones([3, 3], np.uint8)
    m1.fill(12222.388)
    print(m1)

    m2 = m1.reshape([1, 9])
    print(m2)
 """


print("------ Hello OpenCV ------")
src = cv.imread("C:/Users/Administrator/Pictures/PS/11.png")    # 读取色彩空间默认为blue,green,red3个通道
# 通过GUI创建窗口,窗口大小根据照片大小自动调整
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)    # 显示图像
t1 = cv.getTickCount()
access_pixel(src)
#create_image()
t2 = cv.getTickCount()
time = (t2 - t1)/cv.getTickCount()  # 测试运行时间
print("time : %s ms"%(time*1000))
cv.waitKey(0)

cv.destroyAllWindows()  # 销毁/关闭所有窗口


输出结果:
Python+OpenCV(二)——Numpy模块_第1张图片
Python+OpenCV(二)——Numpy模块_第2张图片
Python+OpenCV(二)——Numpy模块_第3张图片
Python+OpenCV(二)——Numpy模块_第4张图片
Python+OpenCV(二)——Numpy模块_第5张图片

你可能感兴趣的:(python+OpenCV,opencv,python,计算机视觉)