OpenCV-Python图像处理_Numpy数组操作

1. 循环每一个像素并修改图像
2. 创建一张图片
3. 使用numpy初始化数组的各种方法

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("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
    cv.imshow("pixel demo",image)
    
def inverse(image):
    dst=cv.bitwise_not(image)#像素取反操作
    cv.imshow('inverse demo',dst)
    
def create_image():#创建一张图片
    ''' 初始化图像的两种方法
    img=np.zeros([400,400,3],np.uint8)
   # img[:,:,0]=np.ones([400,400])*255#对第一个通道进行赋值
    img[:,:,2]=np.ones([400,400])*255#对第三个通道进行赋值
    cv.imshow('new image',img)
    '''
    # img = np.zeros([400, 400, 1], np.uint8)
    # img[:, :, 0] = np.ones([400, 400]) * 50
    # cv.imshow('new image', img)

    m1=np.ones([3,3],np.uint8)
    m1.fill(12222.388)
    print(m1)
    m2=m1.reshape([1,9])
    print(m2)

src1=cv.imread('timg.png')
cv.namedWindow('input image1',cv.WINDOW_AUTOSIZE)
cv.imshow('input image1',src1)
t1=cv.getTickCount()
create_image()
t2=cv.getTickCount()
time=(t2-t1)/cv.getTickFrequency()
print("time: %s ms"%(time*1000))
cv.waitKey(0)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值