当前位置:网站首页>Image,cv2读取图片的numpy数组的转换和尺寸resize变化
Image,cv2读取图片的numpy数组的转换和尺寸resize变化
2022-07-06 08:27:00 【MAR-Sky】
几种图片尺寸修改和参数总结
(from torchvision import transforms as T)
显示尺寸格式的不同
- Image类型和T进行resize的图片的size属性显示参数顺序是W、H
- cv2的显示的shape的显示参数顺序是H、W、C
- T.ToTensor()(img),将图片转换为tensor类型,显示是size()方法,例如,
import numpy as np
from PIL import Image
from torchvision import transforms as T
# import matplotlib.image as Img
img = Image.open('4.jpg')
img_tran = T.Resize((512,256))(img)
print(img_tran.size) #(256, 512)
print(np.array(img_tran).shape) # (512, 256, 3)
img_to = T.ToTensor()(img_tran)
img_to_array = np.array(img_to)
print(img_to.size()) #torch.Size([3, 512, 256])
print(img_to_array.shape) # (3, 512, 256)
- 可以看出size()方法显示的是将通道放在第一位了。
修改图片尺寸的函数参数顺序
-T.Resize((H,W))(img)
- img.resize((W,H))、cv2.resize(img_read,(W,H))
Image图片数据和numpy数据的相互转换
Image图片转换为numpy数据
np.array(img)
from PIL import Image
import numpy as np
img = Image.open('4.jpg')
img_array = np.array(img)
numpy数据转换为Image图片
Image.fromarray(img_arr.astype(‘uint8’))
Image.fromarray(np.uint8(img))
from PIL import Image
import numpy as np
img = Image.open('4.jpg')
img_array = np.array(img)
img_image = Image.fromarray(img_arr.astype('uint8'))
Image尺寸显示和numpy的shape显示问题
Image.size属性显示的是**宽、高**
img_array.shape属性,显示的是**高、宽、通道**
from PIL import Image
from torchvision import transforms as T
import numpy as np
img = Image.open('4.jpg')
img_array = np.array(img)
print(img.size) # (720, 1160)
print(img_arr.shape) # (1160, 720, 3)
plt.figure()
plt.subplot(1,3,1)
plt.imshow(img)
plt.subplot(1,3,2)
plt.imshow(img_array)
plt.show()
img.resize(w, h),T.Resize((h,w))(img),cv2.resize(img,(w,h))
功能:将读取后的图片尺寸的宽和高修改
import cv2
import matplotlib.image as Img
from torchvision import transforms as T
img = Image.open('4.jpg')
img_resize = img.resize((512,256))
img_tran = T.Resize((512,256))(img)
img_array = np.array(img)
img_read = cv2.imread('4.jpg')
img_cv2 = cv2.resize(img_read,(512,256))
print(img_resize.size) #(512, 256)
print(img_array.shape) #(1160, 720, 3)
print(img_tran.size) # (256, 512)
print(img_cv2.shape) # (256, 512, 3)
plt.figure()
plt.subplot(1,3,1)
plt.title('img_resize')
plt.imshow(img_resize)
plt.subplot(1,3,2)
plt.title('img_tran')
plt.imshow(img_tran)
plt.subplot(1,3,3)
plt.title('img_cv2')
plt.imshow(img_cv2)
plt.show()
边栏推荐
- Analysis of Top1 accuracy and top5 accuracy examples
- Colorlog结合logging打印有颜色的日志
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- sublime text没关闭其他运行就使用CTRL+b运行另外的程序问题
- 【MySQL】鎖
- Sort according to a number in a string in a column of CSV file
- IOT -- interpreting the four tier architecture of the Internet of things
- matplotlib. Widgets are easy to use
- synchronized 解决共享带来的问题
- Chinese Remainder Theorem (Sun Tzu theorem) principle and template code
猜你喜欢
面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读
[cloud native topic -45]:kubesphere cloud Governance - Introduction and overall architecture of enterprise container platform based on kubernetes
Hungry for 4 years + Ali for 2 years: some conclusions and Thoughts on the road of research and development
Process of obtaining the electronic version of academic qualifications of xuexin.com
vulnhub hackme: 1
Online yaml to CSV tool
Unified ordering background interface product description Chinese garbled
Synchronized solves problems caused by sharing
Beijing invitation media
hcip--mpls
随机推荐
化不掉的钟薛高,逃不出网红产品的生命周期
Résumé des diagrammes de description des broches de la série ESP
China dihydrolaurenol market forecast and investment strategy report (2022 Edition)
Let the bullets fly for a while
JS native implementation shuttle box
Day29-t77 & t1726-2022-02-13-don't answer by yourself
【MySQL】鎖
What is the use of entering the critical point? How to realize STM32 single chip microcomputer?
Yyds dry goods inventory three JS source code interpretation eventdispatcher
Online yaml to CSV tool
Restore backup data on S3 compatible storage with br
All the ArrayList knowledge you want to know is here
Sort according to a number in a string in a column of CSV file
MySQL learning record 11jdbcstatement object, SQL injection problem and Preparedstatement object
1. Color inversion, logarithmic transformation, gamma transformation source code - miniopencv from zero
Research Report on Market Research and investment strategy of microcrystalline graphite materials in China (2022 Edition)
Golang force buckle leetcode 1020 Number of enclaves
Nacos Development Manual
logback1.3. X configuration details and Practice
JVM performance tuning and practical basic theory - Part 1