计算机视觉__基本图像操作(显示、读取、保存)
计算机视觉__基本图像操作(显示、读取、保存)
本文目录:
✨ 一、前言
✨ 二、图像显示(使用OpenCV和Matplotlib显示图像)
(1)、使用OpenCV显示图像
(2)、使用Matplotlib显示图像
✨ 三、图像读取
(1)、使用OpenCV读取图像
(2)、用Matplotlib读取图像
(2.1)使用OpenCV和Matplotlib结合读取图像实例
(2.2)使用Matplotlib读取图像实例
✨ 四、图像保存
(1)、使用OpenCV保存图像
(2)、用Matplotlib保存图像
(3)、图片保存实例
✨ 五、本章总结
✨ 一、前言
图像显示、图像读取和图像保存是计算机视觉的基本操作,也是后续图像操作的基础。
OpenCV是计算机视觉中经典的专用库,Matplotlib也是一种常用的图像处理库。
OpenCV (Open Source Computer Vision Library),OpenCv 可以运行在多平台之上,轻量级而且高效,由一系列 C 函数和少量 C++类构成,提供了 Python、Ruby、MATLAB 等语言的接口。
只有先获取图像之后,才能对图像进行操作处理,信息提取,结果输出,图像显示,图像保存。
对于一个图像而言,
OpenCV 中进行读取展示的步骤如下:
- 图像读取;
- 窗口创建;
- 图像显示;
- 图像保存;
- 资源释放。
OpenCV读取图像的基本函数有 :
cv2.imread()、cv2.namedWindow()、cv2.imshow()、cv2.imwrite()、cv2.destroyWindow()、cv2.destroyAllWindows()、 cv2.imshow()、cv2.cvtColor()、cv2.imwrite()、cv2.waitKey()。
注 意:
使用OpenCV读取的图像的颜色通道为BGR(蓝绿红),Matplotlib使用的颜色通道为RGB(红绿蓝),
所以如果要正常显示图像的颜色效果,需要进行颜色通道转换。
先将OpenCV读取的BGR(蓝绿红)颜色通道的图像转换为RGB(红绿蓝)颜色通道的图像,再使用Matplotlib正确显示图像。
✨ 二、图像显示(使用OpenCV和Matplotlib显示图像)
(1)、使用OpenCV显示图像
OpenCV是计算机视觉中经典的专用库,功能强大。
OpenCV-Python为OpenCV提供了Python接口,我们可以使用这个接口,实现图像操作的功能。
按如下步骤编写代码:(保存成:你的文件名.py,图片girl2a.jpg保存在同一个目录下)
① 、导入模块
import cv2
② 、读取图像
img=cv2.imread('girl2a.jpg')
③ 、创建窗口
cv2.namedWindow("逆境清醒")
④ 、使用OpenCV显示图像
cv2.imshow('逆境清醒',img)
代码解释:
cv2.imshow(window_name,img)
- 函数在窗口中显示图像,窗口会自动适应不同的图像尺寸。
- window_name:第一个参数window_name是窗口名称,字符串,可以根据需要创建任意多个窗口;
- img:第二个参数img是图像名称。
⑤ 、等待键盘输入
cv2.waitKey(0)
代码解释:
cv2.waitKey(0)
- 等待键盘输入,若未输入,则一直等待。
- 这种等待效果可以保证我们刚才建立的图片窗口不会一闪而过,可以有足够的时间看清窗口内容。
⑥ 、销毁窗口
cv2.destroyAllWindows()
代码解释:
cv2.destroyAllWindows()
- 销毁窗口
⑦、完整代码
import cv2
img=cv2.imread('girl2a.jpg')
cv2.namedWindow("逆境清醒")
cv2.imshow('逆境清醒',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
⑧、运行效果如图所示
(2)、使用Matplotlib显示图像
Matplotlib也是一种常用的图像处理库。
可用matplotlib.pyplot.imshow(img)函数来显示图像,参数img代表图像对象,参数较少,使用便捷。
按如下步骤编写代码:(保存成:你的文件名.py,图片girl2a.jpg保存在同一个目录下)
① 、导入模块
import cv2
import matplotlib.pyplot as plt
② 、读取图像
image=cv2.imread('girl2a.jpg')
③ 、将颜色通道从BGR转换为RGB
image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
④ 、使用Matplotlib显示图像
plt.imshow(image)
plt.show()
⑤ 、完整代码
import cv2
import matplotlib.pyplot as plt
image=cv2.imread('girl2a.jpg')
image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
#image=image[:,:,::-1]
plt.imshow(image)
plt.show()
⑥、运行效果如图所示
✨ 三、图像读取
用OpenCV或Matplotlib读取一张图像,读取格式为单通道灰度图和三通道彩色图。
(1)、使用OpenCV读取图像
cv2.imread(filename,flags)函数,
作用:读取图像。返回值是一个nparray 多维数组。OpenCV 对图像的任何操作,本质上就是对 Numpy 多维数组的运算。
- filename:第一个参数filename是图像地址,图像应该存储在工作目录中或给出图像的完整路径。即使图像路径错误,也不会引发任何错误,但是在打印图像时系统会给出None。
- flags:第二个参数flags,是一个标志,指定了读取图像的方式。
- 如果无法读取图像(文件丢失,权限不正确,格式不支持或无效),该函数返回一个空矩阵。
- 必须使用中文时,可以使用 cv2.imdecode() 处理
- 读取图像时默认忽略透明通道,但可以使用 CV_LOAD_IMAGE_UNCHANGED 参数读取透明通道。
- 对于彩色图像,可以使用 flags=0 按照读取为灰度图像。
- OpenCV 中彩色图像使用 BGR 格式,而 PIL、PyQt、matplotlib 等库使用的是 RGB 格式。
参数flags:读取图像的方式 | |
数值 | 含义 |
-1 | 保持原格式不变 (原来是灰度图像就是灰度图像,原来是彩色图像,就是彩色图像) |
0 | 将图像调整为单通道灰度图像 |
1 | 将图像调整为3通道BGR图像 |
2 | 当载入图像为16位或32位时,返回其对应的深度图像;否则,将其转换为8位图像 |
4 | 以任何可能的颜色格式读取图像 |
8 | 使用gdal驱动程序加载图像 |
目前支持的文件格式: | |
Windows 位图 | * .bmp,* .dib |
JPEG 文件 | * .jpeg,* .jpg,*.jpe |
JPEG 2000文件 | * .jp2 |
便携式网络图形 | * .png |
WebP | * .webp |
便携式图像格式 | * .pbm,* .pgm,* .ppm * .pxm,* .pnm |
TIFF 文件 | * .tiff,* .tif |
该函数的返回值是图像数字矩阵,
维度如下:
(M,N):用于灰度图。
(M,N,3):用于RGB彩色图。
cv2.cvtColor(img,color_change)函数对颜色维度进行转换。
- img:第一个参数img是图像对象。
- color_change:第二个参数color_change是cv2.COLOR_BGR2GRAY(OpenCV定义的常数),用来将BGR通道彩色图转换为灰度图。
该函数返回修改后的图像数字矩阵。
color_change 参数: | ||
cv2.IMREAD_COLOR | 默认1 | 加载彩色图。任何图像的透明度都会被忽视, |
cv2.IMREAD_GRAYSCALE | 默认0 | 以灰度模式(黑白图像)加载图像 |
cv2.IMREAD_UNCHANGED | 默认-1 | 加载图像,包括alpha通道,可以用-1代替。 |
cv2.IMREAD_ANYDEPTH | 默认2 | 在输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位 |
cv2.IMREAD_ANYCOLOR | 默认4 | 以任何可能的颜色格式读取图像 |
读取一张图像,读取格式为单通道灰度图
按如下步骤编写代码:(保存成:你的文件名.py,图片girl2a.jpg保存在同一个目录下)
① 、导入模块
import cv2
import matplotlib.pyplot as plt
② 、读取图像
image_gray=cv2.imread("girl2a.jpg",flags=0)
③ 、加载灰度图
plt.imshow(image_gray,cmap="gray")
④ 、显示图像
plt.show()
⑤ 、完整代码
import cv2
import matplotlib.pyplot as plt
image_gray=cv2.imread("girl2a.jpg",flags=0)
plt.imshow(image_gray,cmap="gray")
plt.show()
⑥、运行效果如图所示
(2)、用Matplotlib读取图像
可用matplotlib.pyplot.imread(fname,format=None)函数来读取图像。
- fname:第一个参数fname是图像路径;
- format:第二个参数format是图像格式,默认值是None。
如果没有提供图像格式,则imread()函数会从fname中提取图像格式。
该函数的返回值是图像数字矩阵,
维度如下:
(M,N):用于灰度图。
(M,N,3):用于RGB彩色图。
(2.1)使用OpenCV和Matplotlib结合读取图像实例
① 、导入模块
import cv2
import matplotlib.pyplot as plt
② 、读取图像
image_bgr=cv2.imread("girl2a.jpg",flags=1)
③ 、显示图像
plt.imshow(image_bgr)
plt.show()
④ 、运行效果如图所示
此时,颜色不是正常的rgb,而是bgr格式
我们需要修改代码
⑤ 、将图像的格式转为rgb格式
image_rgb=image_bgr[:,:,::-1]
⑥ 、显示图像
plt.imshow(image_rgb)
plt.show()
⑦、完整代码
import cv2
import matplotlib.pyplot as plt
image_bgr=cv2.imread("girl2a.jpg",flags=1)
image_rgb=image_bgr[:,:,::-1]
#image_rgb=cv2.cvtColor(image_bgr,cv2.COLOR_BGR2RGB)
plt.imshow(image_rgb)
plt.show()
⑧、运行效果如图所示
(2.2)使用Matplotlib读取图像实例
① 、导入模块
import matplotlib.pyplot as plt
② 、读取图像
image_rgb=plt.imread("girl2a.jpg")
③ 、显示图像
plt.imshow(image_rgb)
plt.show()
④ 、完整代码
import matplotlib.pyplot as plt
image_rgb=plt.imread("girl2a.jpg")
plt.imshow(image_rgb)
plt.show()
⑤ 、运行效果如图所示
✨ 四、图像保存
(1)、使用OpenCV保存图像
在OpenCV中,可用 cv2.imwrite(dir,img)函数来保存图像。
- dir:第一个参数dir是图像存储的位置。
- img:第二个参数img是图像对象。
- 函数 cv2.imwrite() 用于将图像保存到指定的文件。只能保存 BGR 3通道图像,或 8 位单通道图像、或 PNG/JPEG/TIFF 16位无符号单通道图像。
定义:cv2.imwrite(filename, img [, paras])
参数说明:
- filename:要保存的文件的路径和名称,包括文件扩展名
- img:要保存的 OpenCV 图像,nparray 多维数组
- paras:不同编码格式的参数,可选项
paras:不同编码格式的参数 | |
cv2.CV_IMWRITE_JPEG_QUALITY: | 设置 .jpeg/.jpg 格式的图片质量,取值为 0-100(默认值 95),数值越大则图片质量越高; |
cv2.CV_IMWRITE_WEBP_QUALITY: | 设置 .webp 格式的图片质量,取值为 0-100; |
cv2.CV_IMWRITE_PNG_COMPRESSION: | 设置 .png 格式图片的压缩比,取值为 0-9(默认值 3),数值越大则压缩比越大。 |
retval: | 返回值,保存成功返回 True,否则返回 False。 |
OpenCV cv2.imwrite
该函数在默认情况下,该函数的保存结果为8位单通道图像和BGR图像。
- cv2.imwrite() 保存的是 OpenCV 图像(多维数组)ndarray(numpy数组),不是 cv2.imread() 读取的图像文件,所保存的文件格式是由 filename 的扩展名决定的,与读取的图像文件的格式无关。
- 对 4 通道 BGRA 图像,可以使用 Alpha 通道保存为 PNG 图像。
- cv2.imwrite() 指定图片的存储路径和文件名,不支持中文和空格(不会报错)。必须使用中文时,可以使用 cv2.imencode() 处理
使用OpenCV保存成以8位无符号整型表示的像素点。
import numpy as np
import cv2
import matplotlib.pyplot as plt
image_array=np.array([
[[235,198,148],[238,203,153],[241,207,161]],
[[250,227,205],[255,232,210],[255,238,216]],
[[234,197,147],[237,202,152],[240,206,160]],
[[247,229,206],[250,232,209],[255,237,214]],
[[231,194,144],[234,199,149],[238,204,158]],
[[244,230,207],[246,232,209],[249,235,212]],
[[173,144,77],[158,129,60],[159,130,61]],
[[117,197,136],[101,181,120],[103,183,122]]
],dtype=np.uint8)
cv2.imwrite("wimg1.jpg",image_array)
image1=cv2.imread("wimg1.jpg")
image1=cv2.cvtColor(image1,cv2.COLOR_BGR2GRAY)
plt.imshow(image1)
plt.show()
运行效果如图所示:
使用OpenCV保存成以64位浮点型表示的像素点。
import numpy as np
import cv2
import matplotlib.pyplot as plt
image_array=np.array([
[[235,198,148],[238,203,153],[241,207,161]],
[[250,227,205],[255,232,210],[255,238,216]],
[[234,197,147],[237,202,152],[240,206,160]],
[[247,229,206],[250,232,209],[255,237,214]],
[[231,194,144],[234,199,149],[238,204,158]],
[[244,230,207],[246,232,209],[249,235,212]],
[[173,144,77],[158,129,60],[159,130,61]],
[[117,197,136],[101,181,120],[103,183,122]]
],dtype=np.float64)
cv2.imwrite("wimg2.jpg",image_array)
image2=cv2.imread("wimg2.jpg")
image2=cv2.cvtColor(image2,cv2.COLOR_BGR2GRAY)
plt.imshow(image2)
plt.show()
运行效果如图所示:
我们打开刚才系统保存的两个文件:wimg1.jpg和wimg2.jpg
图片较小,我们将它们放大3200倍看一下:
wimg1.jpg | wimg2.jpg |
(2)、用Matplotlib保存图像
用matplotlib.pyplot.imsave(dir,img,**kwargs)函数来保存图像。
- dir:第一个参数dir是图像存储的位置。
- img:第二个参数img是图像对象。
- **kwargs:第三个参数**kwargs是一个字典参数,参数较多
下面是几个常用的参数值。
参 数 | 说 明 |
format | 指明图像格式,可能的格式有png、pdf、svg、etc,支持大多数图像格式。 |
dpi | 分辨率,用于调整图像的清晰度。 |
cmap | 颜色映射,对于彩色图像此参数被忽略,只对灰度图像有效。 |
使用Matplotlib保存成以8位无符号整型表示的像素点。
import numpy as np
import matplotlib.pyplot as plt
image_array=np.array([
[[1,0,1],[0,1,0],[0,0,1]],
[[0,1,1],[1,1,0],[1,0,1]],
[[1,0,0],[0,0,0],[0,1,1]],
[[1,1,1],[1,1,1],[1,0,1]],
[[0,0,0],[1,1,0],[0,1,1]],
[[1,0,0],[0,1,0],[0,0,0]],
[[0,0,1],[1,1,1],[0,0,1]],
[[1,0,0],[0,0,1],[1,1,1]]
],dtype=np.uint8)
plt.imsave("wimg3.jpg",image_array)
image3=plt.imread("wimg3.jpg")
plt.imshow(image3)
plt.show()
运行效果如图所示:
使用Matplotlib保存成以64位浮点型表示的像素点。
import numpy as np
import matplotlib.pyplot as plt
image_array=np.array([
[[1,0,1],[0,1,0],[0,0,1]],
[[0,1,1],[1,1,0],[1,0,1]],
[[1,0,0],[0,0,0],[0,1,1]],
[[1,1,1],[1,1,1],[1,0,1]],
[[0,0,0],[1,1,0],[0,1,1]],
[[1,0,0],[0,1,0],[0,0,0]],
[[0,0,1],[1,1,1],[0,0,1]],
[[1,0,0],[0,0,1],[1,1,1]]
],dtype=np.float64)
plt.imsave("wimg4.jpg",image_array)
image4=plt.imread("wimg4.jpg")
plt.imshow(image4)
plt.show()
运行效果如图所示:
我们打开刚才系统保存的两个文件:wim3.jpg和wimg4.jpg
图片较小,我们将它们放大3200倍看一下:
wimg3.jpg | wimg4.jpg |
(3)、图片保存实例
import cv2
import numpy as np
# 读取图片文件
imgFile = "girl2a.jpg"
# flags=1 读取彩色图像(BGR)
img3 = cv2.imread(imgFile, flags=1)
saveFile= "test.jpg"
# 保存图片时带有中文名字
saveFile1 = "测试girl2a.jpg"
# 将读取的图片保存成普通英文名格式
cv2.imwrite(saveFile, img3)
# 将读取的图片保存成中文名格式
img_write = cv2.imencode(".jpg", img3)[1].tofile(saveFile1)
运行结果:
文件夹内出现两个新的图片,一个是英文名:test.jpg;另一个是中文名:测试girl2a.jpg
✨ 五、本章总结
图像是由三维数组组成的数据形式,三维数组分别对应宽度、高度、通道数。
灰度图为单通道图像,
彩色图为三通道图像。
OpenCV 使用BGR通道方式读取图像。
Matplotlib 使用RGB通道方式读取图像。
更多《 计算机视觉 》相关文章更新中。。。
推荐阅读:
计算机视觉__基本图像操作(显示、读取、保存) | 直方图(颜色直方图、灰度直方图) | 直方图均衡化(调节图像亮度、对比度) |
语音识别实战(python代码)(一) |
人工智能基础篇 |
计算机视觉基础__图像特征 |
matplotlib 自带绘图样式效果展示速查(28种,全) |
||
Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一) | ||
|
|
|
立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦 |
Python 3D可视化(一) |
让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud) |
|
|
|
python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印 |
用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心) |
python爱心源代码集锦(18款) |
|
|
|
Python中Print()函数的用法___实例详解(全,例多) |
Python函数方法实例详解全集(更新中...) |
《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念 |
|
|
|
用代码过中秋,python海龟月饼你要不要尝一口? |
python练习题目录 |
|
|
|
|
草莓熊python turtle绘图(风车版)附源代码 |
草莓熊python turtle绘图代码(玫瑰花版)附源代码 |
草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码 |
|
|
|
巴斯光年python turtle绘图__附源代码 |
皮卡丘python turtle海龟绘图(电力球版)附源代码 | |
|
||
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue) | ||
|
|
|
2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特 |
别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(4套) |
SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例) |
|
|
|
【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码) | HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码) |
2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载) |
|
|
|
Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细) |
色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名) |
2023年4月多家权威机构____编程语言排行榜__薪酬状况 |
|
|
|
手机屏幕坏了____怎么把里面的资料导出(18种方法) |
【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向) |
查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决 |
|
|
|
tomcat11、tomcat10 安装配置(Windows环境)(详细图文) |
Tomcat端口配置(详细) |
Tomcat 启动闪退问题解决集(八大类详细) |
计算机视觉__基本图像操作(显示、读取、保存)相关推荐
- opencv图像操作:读取,裁剪,保存,缩放,遍历和读取文件夹图片
opencv.cpp文件 #include <iostream> #include "opencv.hpp" #include "opencv_test.h& ...
- 计算机视觉-基本的图像操作和处理
文章目录 一. Matplotlib 1.绘制图像,点和线 2.图像轮廓和直方图 3.交互式标注 二.NumPy 1.图像数组表示 2.灰度变换 3.图像缩放 4.直方图均衡化 5.图像平均 6.图像 ...
- python计算机视觉编程——第一章(基本的图像操作和处理)
第1章 基本的图像操作和处理 1.1 PIL:Python图像处理类库 1.1.1 转换图像格式--save()函数 1.1.2 创建缩略图 1.1.3 复制并粘贴图像区域 1.1.4 调整尺寸和旋转 ...
- python计算机视觉编程——基本的图像操作和处理
python计算机视觉编程--第一章(基本的图像操作和处理) 第1章 基本的图像操作和处理 1.1 PIL:Python图像处理类库 1.1.1 转换图像格式--save()函数 1.1.2 创建缩略 ...
- 【Matlab 控制】矩阵、图像操作基础
Matlab矩阵.图像操作基础 1. 矩阵操作 计算特征值和特征向量 计算矩阵指数 2. 图像操作 显示单条曲线 显示多条曲线 设置曲线线宽 添加图例 添加x轴y轴标签 添加图像标题 3. 显示结果 ...
- matlab怎么输出图像文件夹,Matlab读取图片 显示和保存图像的相关操作
当前有部份朋友还不清楚Matlab读取图片 显示和保存图像的操作,所以下面绿软吧就带来Matlab读取图片 显示和保存图像的相关操作,一起来看看吧! Matlab读取图片 显示和保存图像的相关操作 打 ...
- OpenCV中读取、显示、保存图像及获取图像属性操作讲解及演示(附源码)
需要源码和图片请点赞关注收藏后评论区留言私信~~~ OpenCV的作用在于让开发人员更容易地通过编码来处理图像.那么,处理图像需要执行哪些操作呢?图像处理的基本操作包含4个方面的内容:读取图像.显示图 ...
- 【python图像处理】图像的读取、显示与保存
python作为机器学习和图像处理的利器,收到越来越多的推崇,特别是在图像处理领域,越来越多的研究和开发开始转向使用python语言,下面就介绍python图像处理中最基本的操作,即图像的读取显示与保 ...
- Python-OpenCV 笔记1 -- 图像与视频的读取、显示、保存
Python-OpenCV 笔记1 – 图像与视频的读取.显示.保存 一.图片的读取.显示.保存 1.图片读取 原型: imread (filename, flags=None) 参数: filena ...
最新文章
- 首次在手机端不牺牲准确率实现BERT实时推理,比TensorFlow-Lite快近8倍,每帧只需45ms...
- Size Classes with Xcode 6:为所有的尺寸准备一个Storyboard
- P1458 顺序的分数 Ordered Fractions(有技巧的枚举)+C++类封装=精简代码
- Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions 思维 + 根号数
- 小程序开发(8)-之跳转第三方小程序设计
- 小汤学编程之JAVA基础day12——异常
- 【Processing-日常1】小圆碰撞
- 隐藏十年的 Sudo 漏洞 (CVE-2021-3156) 还影响 macOS 和 IBM IAX
- 八年了,必须放手了,我不是你妈妈
- 会员制玩法解说 JAVA会员制商城系统开发
- 3dmax模型导入unity
- LeNet识别眼疾iChallenge-PM
- NumLock键失灵
- Ubuntu16.04+Cuda9.0+Cudnn7.0+python2.7+Caffe
- 杰出女吉他大师Muriel Anderson
- MAC直接的剪切快捷键
- 高速接口中的PRBS的设计
- 读书笔记-精准努力-专注专注专注
- 【Practical】决策系统与粗糙集
- 天融信虚拟企业防火墙学习
热门文章
- 创建线程池的正确姿势,请给它指定一个有意义的名字
- H5新增标签及其属性
- Adobe Photoshop CC 2015 for Mac、Win32、Win64及注册机序列号
- PostgreSQL 性能优化之 - 大锁与long sql/xact的蝴蝶效应
- ssh命令+免密码登入
- 【luogu P3803】【模板】多项式乘法(NTT)
- 如何引入先验知识——Embedding Symbolic Knowledge into Deep Networks——纯属个人思考,极有可能出错,自行取用
- 骚男用计算机的音乐,lol主播炸了77期骚男五杀什么背景音乐
- win10家庭版怎么在一间办公室实现打印机共享
- python正式发布年份_python输入年份打印全年日历-女性时尚流行美容健康娱乐mv-ida网...