今天我们要弄的是关于python与openCV2的使用。
而我们要使用CVopen2的命令,肯定需要各种照片,但是这些照片的命名大多数是杂乱无序的,所以我们要有个前期工作。
一:批量重命名目标文件,批量删除文件。

首先将这些图片放到同一个文件夹中,然后利用os系统模块。
#对文件进行批量重命名
import os
path = 'C:/Users/songcx/Desktop/tubao'
filelist = os.listdir(path)#返回该文件夹内的所有文件
i = 0
for file in filelist:
old = os.path.join(path,file)
filetype = os.path.splitext(file)[1]#分离文件名和扩展名
if (filetype=='.jpg'):
i = i+1;
new = os.path.join(path,str(i)+filetype)
os.rename(old,new)
else:
continue
效果如图。
准备工作完成后,我们就可以开始了。
二:用openCV2对照片进行各种修改。
1.显示我们想要的图片。
import cv2
one=cv2.imread('C:/Users/songcx/Desktop/tubao/1.jpg')
cv2.imshow('suibian',one)
cv2.waitKey(0)
是不是很好看啊<( ̄▽ ̄)/。
2.保存我们修改后的图片。
#该代码一般不单独使用,和后面的操作结合使用。
import cv2
one=cv2.imread('C:/Users/songcx/Desktop/tubao/1.jpg')
cv2.imwrite('C:/Users/songcx/Desktop/tubao/one.jpg',img)
3.截取部分图片。
终于到正文了,这次我们以图2为例。
import cv2
img=cv2.imread('C:/Users/songcx/Desktop/tubao/2.jpg')
bianhua=img[200:400,200:400]#截取200-400行,200-400列的图像
cv2.imshow('wusuoweila',bianhua)
cv2.waitKey(0)

4.图片翻转。
import cv2
img=cv2.imread('C:/Users/songcx/Desktop/tubao/2.jpg')
img1=cv2.flip(img,1)#大于0,左右翻转
img2=cv2.flip(img,0)#等于0,上下翻转
img3=cv2.flip(img,-1)#小于0,先上下翻转再左右翻转
cv2.imshow('text',img)
cv2.imshow('text1',img1)
cv2.imshow('text2',img2)
cv2.imshow('text3',img3)
cv2.waitKey(0)
这里就不给出展示了。
5.缩放图片
import cv2
img=cv2.imread('C:/Users/songcx/Desktop/tubao/2.jpg')
img1=cv2.resize(img,(500,500))#设置输出图片的尺寸
img2=cv2.resize(img,None,fx=0.7,fy=0.7)#None指图片尺寸,但我们设置了缩放因子,就无需图片尺寸
cv2.imshow('text',img1)
cv2.imshow('text1',img2)
cv2.waitKey(0)
6.转换图片颜色。
import cv2
img=cv2.imread('C:/Users/songcx/Desktop/tubao/3.jpg')#cv2.imread读进来的图片格式是BGR(W,H,C),而不是RGB
img1=cv2.resize(img,(400,400))
cv2.imshow('BGR',img1)
img2=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)#将BGR转化成灰度图像
cv2.imshow('GRAY',img2)
cv2.imwrite('C:/Users/songcx/Desktop/tubao/Gray.jpg',img2)
cv2.waitKey(0)

7.在同一个平面插入两张图片。
import cv2
import numpy as np
img=cv2.imread('C:/Users/songcx/Desktop/tubao/2.jpg')
img1=cv2.resize(img,(500,500))
img2=cv2.flip(img1,1)#大于0,左右翻转
img3=np.vstack([img1,img2])#在竖直方向上堆叠
img4=np.hstack([img1,img2])#在水平方向平铺
cv2.imshow('text',img3

本文介绍了如何使用Python和OpenCV2进行图像处理,包括批量重命名和删除文件,显示、保存、截取、翻转、缩放、转换颜色、合并图片以及使用OpenCV2绘图等操作。
最低0.47元/天 解锁文章
27万+





