栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

【pytorch】关于OpenCV和PIL.Image读取图片的区别

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【pytorch】关于OpenCV和PIL.Image读取图片的区别

数据使用方角度

首先从pytorch出发,torchvision.transforms()要求传入的图像是PIL.Image格式(通道要求是RGB格式的),另外模型处理输入要转换为[1,channel,H,W];

所以最终导入torchvision.transforms()的图像格式需要转成PIL.Image,且需要在转换后增加batch维度([channel,H,W]变成[1,channel,H,W])

	test_transform=torchvision.transforms.Compose([
		...
	    transforms.ToTensor(),
	    ...
	])
	
	input_img=test_transform(img_pil).unsqueeze(0)
	pred_logits=model(input_img)

OpenCV和PIL.Image区别 1. PIL.Image

a. 读取图片

	from PIL import Image
	img_pil = Image.open(path)
	

img_pil为PIL.JpegImagePlugin.JpegImageFile对象,图像形状(维度)是[W,H],通道是RGB。
注意:使用numpy库读取格式为(width, height)的pillow的图片后,
数据的格式自动转为(height, width, channels)

b.PIL转OpenCV

	import cv2
	from PIL import Image
	import numpy
 
	image = Image.open("plane.jpg")
	image.show()
	img = cv2.cvtColor(numpy.asarray(image),cv2.COLOR_RGB2BGR)
	cv2.imshow("OpenCV",img)
	cv2.waitKey()
	

c.保存图像

注意:当往图片添加中文时,需要使用PIL

	from PIL import ImageFont, ImageDraw
	
	# 导入中文字体,指定字号
	font = ImageFont.truetype('SimHei.ttf', 32)
	draw = ImageDraw.Draw(img_pil)
	text=“我爱学python”
	draw.text((50, 100 + 50 ), text, font=font, fill=(255, 0, 0, 1))
	# 保存图片
	img_pil.save('output/img_pred.jpg')
	
2. OpenCV

a. 读取图片

	import cv2
	img_cv2 = cv2.imread(path)
	

img_cv2为numpy.ndarray格式,是uint8类型,0-255范围,图像形状(维度)是[H,W,C],通道是BGR。

b.OpenCV转PIL

	import cv2
	from PIL import Image
	import numpy
	 
	img = cv2.imread("plane.jpg")
	cv2.imshow("OpenCV",img)
	image =Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
	image.show()
	cv2.waitKey()
	

c.保存图像

cv2可以保存英文。

	import cv2
	
	# 用 opencv 载入原图
	img_bgr = cv2.imread(img_path)
	text=“我爱学python”
	img_bgr = cv2.putText(img_bgr, text, (25, 50 + 40 ), cv2.FONT_HERSHEY_SIMPLEX, 1.25, (0, 0, 255), 3)
	# 保存图像
	cv2.imwrite('output/img_pred.jpg', img_bgr)
	
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号