Python-opencv专栏(02)

#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
# @Time    : 2020/11/1 21:04
# @Author  : ptg
# @Email   : zhxwhchina@163.com
# @File    : course_02.py
# @Software: PyCharm

import cv2
import numpy as np
def access_piexl(image):
    print(image.shape)
    height = image.shape[0]
    width = image.shape[1]
    channel = image.shape[2]
    print("width:%s,height:%s,channels:%s" % (width, height, channel))

    for row in range(height):
        for col in range(width):
            for c in range(channel):
                pv = image[row,col,c]
                image[row,col,c ] = 255 - pv
    cv2.imshow("pixels_demo",image)

img = cv2.imread("lena.jpg")
# 记录循环轮数(为了计算时间)t1
t1 = cv2.getTickCount()
access_piexl(img)
# 记录循环轮数(为了计算时间)t2
t2 = cv2.getTickCount()
t = (t2 - t1)/cv2.getTickFrequency()*1000 #ms
print("time:%s ms"%t)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述
时间比较

记录循环轮数(为了计算时间)t1

t1 = cv2.getTickCount()
inverse(img)

记录循环轮数(为了计算时间)t2

t2 = cv2.getTickCount()
在这里插入图片描述
通道颜色

#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
# @Time    : 2020/11/1 21:04
# @Author  : ptg
# @Email   : zhxwhchina@163.com
# @File    : course_02.py
# @Software: PyCharm

import cv2
import numpy as np
def access_piexl(image):
    print(image.shape)
    height = image.shape[0]
    width = image.shape[1]
    channel = image.shape[2]
    print("width:%s,height:%s,channels:%s" % (width, height, channel))

    for row in range(height):
        for col in range(width):
            for c in range(channel):
                pv = image[row,col,c]
                image[row,col,c ] = 255 - pv
    cv2.imshow("pixels_demo",image)

# 尽量靠近opencv书写的API
def inverse(image):
    dst = cv2.bitwise_not(image)
    cv2.imshow('dst',dst)


def color_space_demo(image):
    gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)
    cv2.imshow('hsv',hsv)
    yuv = cv2.cvtColor(image,cv2.COLOR_BGR2YUV)
    cv2.imshow('yuv', yuv)
    ycrb = cv2.cvtColor(image,cv2.COLOR_BGR2YCR_CB)
    cv2.imshow('ycrb', ycrb)

img = cv2.imread("lena.jpg")
# 记录循环轮数(为了计算时间)t1
t1 = cv2.getTickCount()
inverse(img)
# 记录循环轮数(为了计算时间)t2
t2 = cv2.getTickCount()
t = (t2 - t1)/cv2.getTickFrequency()*1000 #ms
print("time:%s ms"%t)
color_space_demo(img)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值