Python Opencv 图像预处理(平滑,旋转,反转,扩充)
做cv项目,由于采集图片不能直接使用,先进行了一定的处理,这里做个记录方便日后查看,又可以给大家一个参考
import os
import cv2
from PIL import Image
import numpy as np
def convert_tif_to_jpg(image_path):
# 图片转换程序,将所有的图片都转为jpg格式方便日后处理
# param:image_path是存放图片的路径
image_list=[x for x in os.listdir(image_path)]
length = len(image_list)
for index, image in enumerate(image_list):
#print(image)
image_read=cv2.imread(os.path.join(image_path,image))
cv2.imwrite(image_path+image.split('.')[0]+'.jpg',image_read)
print('总共:', len(image_list), '张,剩余:', len(image_list) - index - 1, '张')
return (length==len([y for y in os.listdir(image_path) if y.endswith(".jpg")]))
'''
about cv2.imread:
IMREAD_UNCHANGED = -1 #不进行转化,比如保存为16位的图片,读取出来仍然为16位。
IMREAD_GRAYSCALE = 0 #进行转化为灰度图,比如保存为16位的图片,读取出来为8位,类型为CV_8UC1。
IMREAD_COLOR = 1 #进行转化为RGB三通道图像,图像深度转为8位
IMREAD_ANYDEPTH = 2 #保持图像深度不变,进行转化为灰度图。
IMREAD_ANYCOLOR = 4 #若图像通道数小于等于3,则保持原通道数不变;若通道数大于3,则只取取前三个通道,图像深度转为8位。
'''
def ROS(image_path):
#实现图片的剪切
i=0
for root,dir,files in os