彩色图片的转置

如果采用模块内的旋转函数,可能会加入噪音。


from skimage import io, transform # python的Image和skimage处理图片

import matplotlib.pyplot as plt

# 读入图片
img = io.imread('E:\\datasets\\examples\\4.jpg')

# 图片的旋转
img2 = transform.rotate(img, 90)

# 显示图片
plt.figure()
plt.imshow(img)
plt.show()

plt.figure()
plt.imshow(img2)
plt.show()



from skimage.io import imread
import matplotlib.pyplot as plt
import numpy as np

#读入图片 (266,400,3)
img1 = imread('E:\\datasets\\examples\\4.jpg')

#显示原图
plt.figure()
plt.imshow(img1)
plt.show()

#分别得到R、G、B单通道矩阵 (266,400)(266,400)(266,400)
img_r, img_g, img_b = img1[:, :, 0], img1[:, :, 1], img1[:, :, 2]


#对各个通道进行转置(400,266)(400,266)(400,266)
img_r, img_g, img_b = img_r.T, img_g.T, np.transpose(img_b)

#预先设定一个(400,266,3)的三维矩阵
h, w, channel = img1.shape[0], img1.shape[1], img1.shape[2]
img2 = np.arange(h*w*channel, dtype=np.uint8).reshape((w, h, channel))

#将R、G、B单通道矩阵转置后组合成img2
img2[:, :, 0], img2[:, :, 1], img2[:, :, 2] = img_r, img_g, img_b 

##显示转置后的图
plt.figure()
plt.imshow(img2)
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值