接下来这一节,我们主要学习一下,怎样使用opencv进行基本的图像操作(python)
1.读、写和显示图像
在opencv里,imread()函数是用来从硬盘上读图像文件的;
imwrite()函数是用来将图片写到硬盘上的;
imshow()函数则是用来将图片显示出来的(需配合使用namedWindow函数和waitKey函数);
接下来这一节,我们主要学习一下,怎样使用opencv进行基本的图像操作(python)
1.读、写和显示图像
在opencv里,imread()函数是用来从硬盘上读图像文件的;
imwrite()函数是用来将图片写到硬盘上的;
imshow()函数则是用来将图片显示出来的(需配合使用namedWindow函数和waitKey函数);
Python [ Read, write and display image ]
import cv2# 读取图片sample.jpg
image = cv2.imread("../data/images/sample.jpg")if image is None:# 检查是否有读取到了图片
print("Could not open or find the image")# 使用cvtColor()函数,将原图(彩色)转化为灰度图
grayImage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 将灰度图保存为imageGray.jpg文件
cv2.imwrite("imageGray.jpg", grayImage)# 创建窗口,用来显示图片
cv2.namedWindow("image", cv2.WINDOW_AUTOSIZE)
cv2.namedWindow("gray image", cv2.WINDOW_NORMAL)# 显示图片
cv2.imshow("image", image)
cv2.imshow("gray image", grayImage)# 等待按下任意键,才关闭图片显示的窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
2.缩放(resize)和裁剪图片(crop)
在opencv里,我们使用resize()函数调整图片尺寸,即缩放;
Python [ Crop and Resize ]
import cv2# 读取图片
source = cv2.imread("../data/images/sample.jpg",1)# 定义x,y方向的缩放因子
scaleX = 0.6
scaleY = 0.6# 将图片缩小为原来的0.6倍
scaleDown = cv2.resize(source, None, fx= scaleX, fy= scaleY, interpolation= cv2.INTER_LINEAR)
# 将图片放大到原来的1.8倍
scaleUp = cv2.resize(source, None, fx= scaleX*3, fy= scaleY*3, interpolation= cv2.INTER_LINEAR)#剪切图像。我们直接操作numpy数组进行操作,将其中的指定行、列内容读出来,即完成图像剪切
crop = source[50:150,20:200]# 显示所有图片(原图、缩小、放大、剪切后的图)
cv2.imshow("Original", source)
cv2.imshow("Scaled Down", scaleDown)
cv2.imshow("Scaled Up", scaleUp)
cv2.imshow("Cropped Image",crop)
cv2.waitKey(0)
文章图片
【图像处理|5分钟学会,使用opencv进行基本的图像操作—读、写、显示、缩放、裁剪(python语言)】
推荐阅读
- ubuntu|Ubuntu18.04安装opencv3.4.1+opencv_contrib3.4.1
- Python|用反向传播学习识别mnist手写数字(mini-batch版)
- opencv|opencv.js 之官网教程翻译加代码
- 列表|整理了25个Python文本处理案例,收藏!
- 大数据|python自然语言处理库_8个出色的Python库用于自然语言处理
- Python库之自然语言处理和文本挖掘
- 报错|安装PyTorch后jupyter notebook中仍出现“No module named torch“
- Python数据可视化|python 数据可视化01
- 计算机视觉|Opencv 基于C++识别绿灯