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)