python rgb库_python 编程中的一个关于图片的库 imageio (读取照片RGB内容,转换照片格式)...

最近在看机器学习方面的东西,经常遇到需要把某个类型的照片中 RGB 内容读取出来, 在python中照片显示用matplotlib就可以做到,但是导入不同格式的照片,保持出不同格式的照片numpy, scipy, matplotlib 往往不是很能搞的定,于是就有了先手动转换照片格式,然后再用scipy进行导入的这一步骤。今天在看代码的时候无意中发现了一个很好用的图形库,imageio, 这个第三方库可以导入很多格式类型的照片,然后又可以将其导出成各种格式的照片,非常好用。

导出照片功能其实并不太需要用,我们一般使用matplotlib, scipy 就基本都可以搞定, 但是导入照片功能就比较好用, 比如导入一个 .png类型的照片,这回就不需要再手动转换了。

安装方法, pip 就可以搞定:

1088037-20180720231111061-1120088367.png

项目主页:

读入照片:

imageio.imread(r"C:\Users\Administrator\Desktop\makeyourownneuralnetwork\1\3.jpg")

1088037-20180720234514193-1720731327.png

x=imageio.imread(r"C:\Users\Administrator\Desktop\makeyourownneuralnetwork\1\3.jpg")

x0=x.copy()

x1=x.copy()

x2=x.copy()

x0[:,:,1]=0

x0[:,:,2]=0

x1[:,:,0]=0

x1[:,:,2]=0

x2[:,:,0]=0

x2[:,:,1]=0

1088037-20180720234746467-1096551898.png

imageio.imwrite(r"C:\Users\Administrator\Desktop\makeyourownneuralnetwork\1\0.png", x0)

imageio.imwrite(r"C:\Users\Administrator\Desktop\makeyourownneuralnetwork\1\1.png", x1)

imageio.imwrite(r"C:\Users\Administrator\Desktop\makeyourownneuralnetwork\1\2.png", x2)

1088037-20180720234924917-1379816629.png

1088037-20180720234951984-1765981485.png

原照片 3.jpeg

1088037-20180720235029037-2019795668.jpg

0.png

1088037-20180720235111416-124444137.png

1.png

1088037-20180720235137285-274685276.png

2.png

1088037-20180720235200235-545038099.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 `opencv` 和 `imageio` 两个来录制 `cv.show()` 内容并制作为 `gif` 文件。下面是代码示例: ```python import cv2 import imageio # 初始化一个VideoCapture对象 cap = cv2.VideoCapture(0) # 创建一个空列表,用于存储图像帧 frames = [] # 循环录制图像帧 while True: ret, frame = cap.read() if not ret: break cv2.imshow("frame", frame) frames.append(frame) if cv2.waitKey(1) & 0xFF == ord("q"): break # 释放VideoCapture对象 cap.release() cv2.destroyAllWindows() # 将图像帧列表保存为gif文件 imageio.mimsave("output.gif", frames, "GIF", fps=30) ``` 以上代码会连续录制图像帧,直到按下 `q` 键为止。录制的图像帧会存储在 `frames` 列表,最后使用 `imageio.mimsave` 函数将其保存为 `gif` 文件。 ### 回答2: 要实现将cv2.show()的内容录制为GIF文件,首先需要安装imageio和opencv-python。 下面是一个示例代码: ```python import cv2 import imageio # 创建一个视频捕获对象 cap = cv2.VideoCapture(0) # 创建一个GIF编写器 output_gif = imageio.get_writer('output.gif', mode='I', duration=0.1) while True: # 读取每一帧 ret, frame = cap.read() if not ret: break # 显示每一帧 cv2.imshow('frame', frame) # 将每一帧添加到GIF output_gif.append_data(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)) # 按下 'q' 键退出循环 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放视频捕获对象和关闭窗口 cap.release() cv2.destroyAllWindows() # 完成GIF的写入 output_gif.close() ``` 上述代码首先导入了必要的,然后创建了一个视频捕获对象`cap`,并创建了一个GIF编写器`output_gif`。在一个无限循环,代码读取每一帧数据并显示在窗口,并将每一帧添加到GIF。当按下'q'键时,循环断。在代码的最后,释放了捕获对象和关闭了窗口,并完成了GIF的写入。 可以根据需要对代码进行修改和优化,例如可以设置录制时间、调整帧率等。 ### 回答3: 要实现将cv.show的内容录制为gif文件,首先需要安装相应的: ```python pip install opencv-python pip install imageio pip install imageio-ffmpeg ``` 接下来,可以按照以下方式编写Python代码: ```python import cv2 import imageio import numpy as np # 设置录制参数 output_file = 'output.gif' # 输出gif文件名 duration = 0.1 # GIF每帧间隔时间(秒) # 创建视频录制对象 fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) # 开启摄像头录制 cap = cv2.VideoCapture(0) # 读取帧并录制 while True: ret, frame = cap.read() if ret: out.write(frame) # 录制帧 cv2.imshow('frame', frame) # 显示帧 if cv2.waitKey(1) & 0xFF == ord('q'): break else: break # 释放资源 cap.release() out.release() cv2.destroyAllWindows() # 读取录制的视频文件 video = imageio.get_reader('output.avi') # 写入GIF文件 with imageio.get_writer(output_file, mode='I', duration=duration) as writer: for i, frame in enumerate(video): writer.append_data(frame) print('GIF文件已生成:' + output_file) ``` 该代码首先使用OpenCV开启摄像头录制,将录制到的帧逐帧保存在一个视频文件(output.avi)。然后使用imageio从视频文件逐帧读取,并将每一帧写入GIF文件。最后,输出生成的GIF文件文件名。 请注意,录制内容为摄像头的实时画面,您可以根据需要调整代码的输入源,例如录制屏幕的内容或指定视频文件内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值