python怎么打开图片_python怎么读取图片?

5d1c128d2fbed275.jpg

python怎么读取图片?

方法一:利用PIL中的Image函数,这个函数读取出来不是array格式

这时候需要用 np.asarray(im) 或者np.array()函数

区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝from PIL import Image

import numpy as np

I = Image.open('./cc_1.png')

I.show()

I.save('./save.png')

I_array = np.array(I)

print I_array.shape

方法二:利用matplotlib.pyplot as plt用于显示图片

# matplotlib.image as mpimg 用于读取图片

# 并且读取出来就是array格式import matplotlib.pyplot as plt

import matplotlib.image as mpimg

import numpy as np

I = mpimg.imread('./cc_1.png')

print I.shape

plt.imshow(I)

方法三:利用opencv-python接口

#cv2.imread()读出来同样是array形式,但是如果是单通道的图,读出来的是三通道的import cv2

I = cv2.imread('./cc_1.png')

print I.shape

方法四:图像的存取我一般喜欢用scipy这个库里的东西,读出来是矩阵形式,并且按照(H,W,C)形式保存import matplotlib.pyplot as plt

from scipy import misc

import scipy

I = misc.imread('./cc_1.png')

scipy.misc.imsave('./save1.png', I)

plt.imshow(I)

plt.show()

方法五:用skimage库from skimage import io,data

img=data.lena()

io.imshow(img)

以上就是python怎么读取图片?的详细内容,更多请关注php中文网其它相关文章!

article_wechat2021.jpg?1111

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python3 中有多种实现图片隐写术的库,其中常用的有 stegano 和 pillow 等。 以下是使用 pillow 库实现图片隐写术的示例代码: ```python from PIL import Image def encode_image(image_path, message): # 打开图片并将其转换为 RGB 模式 img = Image.open(image_path).convert('RGB') pixels = img.load() # 获取图片的宽和高 width, height = img.size # 将待隐藏信息的二进制形式转换为字符串 binary_message = ''.join([format(ord(i), "08b") for i in message]) # 检查隐写信息的长度是否超过了图片的容量 if len(binary_message) > width * height: raise ValueError("待隐藏信息过长") # 开始隐写 index = 0 for row in range(height): for col in range(width): # 将每个像素的 RGB 值转换为二进制形式 r, g, b = pixels[col, row] binary_r = format(r, "08b") binary_g = format(g, "08b") binary_b = format(b, "08b") # 如果还有待隐藏的信息,则将其写入像素的最低有效位中 if index < len(binary_message): pixels[col, row] = ( int(binary_r[:-1] + binary_message[index], 2), int(binary_g[:-1] + binary_message[index+1], 2), int(binary_b[:-1] + binary_message[index+2], 2) ) index += 3 # 保存隐写后的图片 img.save("encoded_image.png") def decode_image(image_path): # 打开图片并将其转换为 RGB 模式 img = Image.open(image_path).convert('RGB') pixels = img.load() # 获取图片的宽和高 width, height = img.size # 从图片中读取隐写信息 message = "" for row in range(height): for col in range(width): r, g, b = pixels[col, row] binary_r = format(r, "08b") binary_g = format(g, "08b") binary_b = format(b, "08b") message += binary_r[-1] + binary_g[-1] + binary_b[-1] # 将二进制信息转换为字符串 decoded_message = "" for i in range(0, len(message), 8): decoded_message += chr(int(message[i:i+8], 2)) return decoded_message ``` 使用示例: ```python # 隐写信息到图片中 encode_image("test.png", "Hello World!") # 从图片中读取隐写信息 message = decode_image("encoded_image.png") print(message) # 输出 "Hello World!" ``` 注意:图片隐写术是一种敏感的技术,不应用于违法活动或侵犯他人隐私的行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值