创建新图像:
利用数组操作
import cv2 as cv import numpy as np
像素属性读取:
这里的图像说白了就是二维的数组每个数组元素的数值代表颜色,由(bgr)三张单色的图片混合而成。这里叫做通道数:
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("pixels_demo",image)
创建数组:
m1 =np.ones([3,3],np.uint8) m1.fill(2)#在数组中元素全填上2
因为前文也说了彩色图像实际上就是由数组定义的单色图像的叠加
创建图像:
def create_image(): #图像全部变成0 img = np.zeros([400,400,3],np.uint8)#创建一个图像 多通道 bgr img[:,:,0] =255#b g r 三个通道 img[:,:,1] = np.ones([400,400])*255 cv.imshow("new image",img) #创建单通道的图像 灰度图像 img1 =np.zeros([400,400,1],np.uint8) img1[:,:,0] = np.ones([400,400])*111 cv.imshow("new image :",img1)