学校网站建设的建议,wordpress page 单页,wordpress分类目录关键字,文登区住房和城乡建设局网站文章目录一、项目思路二、算法详解2.1、获取图像信息2.2、新建模板2.3、图像通道顺序三、项目实战#xff1a;彩图的像素值反转#xff08;方法一#xff09;四、项目实战#xff1a;彩图的像素值反转#xff08;方法二#xff09;五、项目实战#xff1a;彩图转换为灰图…
文章目录一、项目思路二、算法详解2.1、获取图像信息2.2、新建模板2.3、图像通道顺序三、项目实战彩图的像素值反转方法一四、项目实战彩图的像素值反转方法二五、项目实战彩图转换为灰图后像素值反转一、项目思路
读取图像获取图像信息新建模板像素值反转显示图像
二、算法详解
2.1、获取图像信息
img.shape[0]图像的垂直尺寸高度
img.shape[1]图像的水平尺寸宽度
img.shape[2]图像的通道数2.2、新建模板
作用根据给定形状和类型返回全0填充的数组。
函数说明zeros(shape, dtypefloat, orderC)
输入参数 shape: 形状dtype: 可选参数数据类型默认numpy.float64。order: 可选参数c代表行优先F代表列优先2.3、图像通道顺序
需注意Pillow加载图像后的尺寸是二维图形化是三维但无法打印三维尺寸。 详细区别 Opencvuint8的ndarray数据通道顺序[h, w, c]颜色通道BGR。 导入模块import cv2 1cv2.imread() 2cv2.imshow() 3cv2.cvtColor(image, cv2.COLOR_BGR2RGB) Matplotlib(plt)uint8的ndarray数据通道顺序[h, w, c]颜色通道RGB。 导入模块import matplotlib.pyplot as plt 1plt.imread() 2plt.imshow() Pillow(PIL)uint8的ndarray数据通道顺序[h, w, c]颜色通道RGB。 导入模块import PIL 1PIL.Image.open() 2PIL.Image.show() Pythorchtensor数据通道顺序[n, c, h, w]颜色通道RGB。 导入模块import torchvision 1torchvision.transforms.ToTensor() 2torchvision.transforms.ToPILImage() 三、项目实战彩图的像素值反转方法一 import cv2 # opencv读取的格式是BGR
import matplotlib.pyplot as plt # Matplotlib是RGB
import numpy as npimg cv2.imread(rbee.jpg) # 读取图像
imgInfo img.shape # 读取图像信息
height imgInfo[0] # 图像高度
width imgInfo[1] # 图像宽度
channel imgInfo[2] # 图像通道数dst np.zeros((height, width, channel), np.uint8)
for ii in range(channel):for jj in range(height):for kk in range(width):Pixel img[jj, kk, ii]dst[jj, kk, ii] 255 - Pixelimg cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
dst cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
plt.subplot(1, 2, 1), plt.imshow(img), plt.axis(off), plt.title(Raw)
plt.subplot(1, 2, 2), plt.imshow(dst), plt.axis(off), plt.title(New)
plt.show()
python–图像颜色反转
四、项目实战彩图的像素值反转方法二 import cv2 # opencv读取的格式是BGR
import matplotlib.pyplot as plt # Matplotlib是RGBimg cv2.imread(rbee.jpg)
dst 255 - imgimg cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
dst cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
plt.subplot(1, 2, 1), plt.imshow(img), plt.axis(off), plt.title(Raw)
plt.subplot(1, 2, 2), plt.imshow(dst), plt.axis(off), plt.title(New)
plt.show()
五、项目实战彩图转换为灰图后像素值反转 import cv2 # opencv读取的格式是BGR
import matplotlib.pyplot as plt # Matplotlib是RGBimg cv2.imread(starry_night.jpg, 1)
gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 彩色图像转换为灰度图像3通道变为1通道
dst 255 - gray # 最大图像灰度值减去原图像即可得到反转的图像img cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
gray cv2.cvtColor(gray, cv2.COLOR_BGR2RGB)
dst cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
plt.subplot(1, 3, 1), plt.imshow(img), plt.axis(off), plt.title(Raw)
plt.subplot(1, 3, 2), plt.imshow(gray), plt.axis(off), plt.title(Gray)
plt.subplot(1, 3, 3), plt.imshow(dst), plt.axis(off), plt.title(New)
plt.show()