Python图像基本操作有哪些
发表于:2024-09-24 作者:千家信息网编辑
千家信息网最后更新 2024年09月24日,这篇文章主要介绍"Python图像基本操作有哪些",在日常操作中,相信很多人在Python图像基本操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python图
千家信息网最后更新 2024年09月24日Python图像基本操作有哪些
这篇文章主要介绍"Python图像基本操作有哪些",在日常操作中,相信很多人在Python图像基本操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python图像基本操作有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
libtiff 包装器
from libtiff import TIFFtif = TIFF.open('filename.tif', mode='r') #打开tiff文件进行读取image = tif.read_image() #读取图像并作为numpy数组返回for image in tif.iter_images() #读取TIFF文件中的所有图像tif = TIFF.open('filename.tif', mode='w') #打开tiff文件进行写入tif.write_image(image) #将图像写入tiff文件
Python 模块
from libtiff import TIFFfile, TIFFimagetif = TIFFfile('filename.tif') #读取图片samples, sample_names = tiff.get_samples()tiff = TIFFimage(data, description='')tiff.write_file('filename.tif', compression='none') # or 'lzw'del tiff # 刷新(释放缓存)
opencv 模块
import cv2cv2.imread("filename",flags)=====================其中:flags四种选择如下:==================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位对于多通道TIFF图像,若要保证图像数据的正常读取,显然要选择IMREAD_UNCHANGED
PIL 模块
from PIL import Imageimg0 = Image.open("D:/python_script/ffff/11lalala.jpg")img1 = Image.open("D:/python_script/ffff/42608122.tif")img2 = Image.open("D:/python_script/ffff/42608122_1.jpg") #这张图片是直接修改上张图的后缀名print ("图片格式:{0},图片大小:{1},图片模式:{2}".format(img0.format,img0.size,img0.mode))print ("图片格式:{0},图片大小:{1},图片模式:{2}".format(img1.format,img1.size,img1.mode))print ("图片格式:{0},图片大小:{1},图片模式:{2}".format(img2.format,img2.size,img2.mode))输出:#说明直接修改图片后缀名,图片的编码格式并没有改变图片格式:JPEG,图片大小:(245, 213),图片模式:RGB图片格式:TIFF,图片大小:(2480, 3508),图片模式:YCbCr图片格式:TIFF,图片大小:(2480, 3508),图片模式:YCbCr
直接修改图片格式
import PIL.Imageimport osdef convert(input_dir,output_dir): for filename in os.listdir(input_dir): path = input_dir+"/"+filename print("doing... ",path) PIL.Image.open(path).save(output_dir+"/"+filename[:-4]+".jpg") print ("%s has been changed!"%filename)if __name__ == '__main__': input_dir = "D:/classifier_data20181225/img1" output_dir = "D:/classifier_data20181225/img2" convert(input_dir,output_dir)
大(分辨率大)图片缩小
遇到分辨率大,图片文件大小并不大的文件,opencv打不开,此时用到了以下代码用来缩小图片。
若文件宽大于1200,(高度小于1800)以此宽度等比缩放
若文件高大于1800,(宽度小于1200)以此高度等比缩放
import osfrom PIL import Imageimport shutildef get_img(input_dir): img_path_list = [] for (root_path,dirname,filenames) in os.walk(input_dir): for filename in filenames: img_path = root_path+"/"+filename img_path_list.append(img_path) print("img_path_list",img_path_list) return img_path_listdef process_image(filename,output_dir, mwidth=1200, mheight=1800): image = Image.open(filename) w, h = image.size if w <= mwidth and h <= mheight: print(filename, 'is OK.') shutil.move(filename, output_dir+filename[-15:]) return if (1.0 * w / mwidth) > (1.0 * h / mheight): scale = 1.0 * w / mwidth new_im = image.resize((int(w / scale), int(h / scale)), Image.ANTIALIAS) else: scale = 1.0 * h / mheight new_im = image.resize((int(w / scale), int(h / scale)), Image.ANTIALIAS) new_im.save(output_dir+filename[-15:]) new_im.close()if __name__ == '__main__': input_dir = "D:/classifier_data20181212/lipei_resize_1" output_dir = "D:/classifier_data20181212/lipei_resize/" img_path_list = get_img(input_dir) for filename in img_path_list: print("filename",filename) process_image(filename,output_dir)
到此,关于"Python图像基本操作有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
图片
图像
文件
格式
大小
模式
通道
基本操作
学习
模块
深度
分辨率
后缀
宽度
更多
灰度
高度
帮助
选择
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
基于ios的软件开发
衡水科技工程学校软件开发
js登录验证调数据库
微软防病毒软件开发
武汉国家网络安全学院地铁
氚云标准版基础搭建连接数据库
王者荣耀q区国服服务器
负责网络安全的部门是哪个部门
传真系统软件开发cimfax
数据库的新建用户名和密码
x86文件服务器多少钱
如何做好防护网络安全
资阳网络技术是什么
郑州亨瑞软件开发
耐特康赛网络技术 怎么样
宕机只能用于服务器吗
云神龙服务器
服务器bios的基本功能错误
在哪里调个人大数据库
东莞手机软件开发热线
网络安全公司研发费用投入
网络安全的发展前途
计算机网络安全面临的风险
软件开发用不用交税
网络安全上市国企
手机总是404服务器错误
我的世界服务器跑区块
江苏电信网络安全吗
福建定制网络技术服务商家
国内服务器的厂家排行