本系列博客主要分享Python在机器视觉/计算机视觉下的编程应用
cv2包是著名的视觉库OpenCV的Python实现
在对图片进行一定的操作后,我们需要将图像保存在对应的位置,cv2提供了imwrite()
函数来将图像写入到计算机中:
import cv2 #导入opencv
import matplotlib.pyplot as plt #导入绘图包
img = cv2.imread('./img.jpeg') #读入图像
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #将图像从opencv的brg通道转为matplotlib的rgb模式
plt.title('Img windows')
plt.imshow(img_rgb) #绘图函数imshow()
plt.xticks([]) #关闭 x,y轴的坐标
plt.yticks([])
plt.show() #显示图像
#-------------------------保存图像--------------------------#
cv2.imwrite('./new_img.jpg',img) #利用cv2.imwrite()保存图像
plt.imsave('./new_img_rgb.png',img_rgb) #对于校正通道后的图像,需要利用plt.imsave()保存
这里需要注意一下几点:
1.imwrite()
函数保存成功后会返回True
,它支持jpeg,png,tiff
等格式。其第一个参数为希望保存的路径及文件名,第二个参数为保存图像的变量,彩色图像时,其需要BGR的通道顺序。
2.如果希望保存进行通道变换后的图像RGB
顺序,那么可以利用matplotlib的pyplot工具中imsave()
函数来实现,其主要支持png, pdf, ps, eps and svg
等格式。
运行后读入的图像将被保存在当前目录下:
注意:如果通道保存错了的话(matplotlib为RGB,opencv为BGR
),会出现下面红蓝相反的蓝瘦效果: