Windows下使用Python配置環境、呼叫Intel realsense D435/D435i
- 前言
- 錯誤嘗試
- 嘗試一
- 嘗試二
- 配置程序
- 創建Python3.6環境
- 安裝**pyrealsense2**、opencv、numpy庫
- 測驗
- 記錄筆記
- 后言
- Bibliography
前言
近來太懶了,想拿起Python玩玩,突然想到可以把手邊的D435i配置一下,在windows下利用python調調;經過幾個小時的配置,解決了一些問題,總結如下;
由于只使用RGB和深度圖,不使用IMU,因此D435i和D435配置是完全相同的;
Note:如果你想最快的入手配置環境,可以只看第三部分【配置程序】即可,其他部分都是樓主啰嗦多說的,
錯誤嘗試
以下是嘗試的幾種方法;
嘗試一
參考教程:[2]Intel RealSense D435介紹、安裝和使用

這里我按照教程將我x64下幾個檔案移到對應環境的site-packages下,仍然不行,運行結果仍舊顯示找不到pyrealsense這個模塊,
另外安裝windows SDK時,它會自動安裝在C盤上:C:\Program Files (x86)\Intel RealSense SDK 2.0
嘗試二
參考教程:[1]官方Python版本環境配置檔案

ERROR: Could not find a version that satisfies the requirement pyrealsense2
ERROR: No matching distribution found for pyrealsense2
這里我直接按照,報錯如上所示;這里問題應該出現下軟體源上,
配置程序
基本配置資訊:Pycharm(IDE)-anaconda-Python3.6-numpy-opencv4.0.1(非必須版本)-pyrealsense2
首先,我的python環境是通過anaconda維護的, anaconda可以很方便的維護和呼叫不同版本的python編譯器和其下屬的各種包資源,
創建Python3.6環境

這里由上圖可知,目前pyrealsense2的包仍然只支持python2.7和python3.6版本,我本來用的是python3.8版本,這里使用anaconda重新安裝了一個python3.6版本,配置程序如下:
在conda終端下使用命令:
#創建python3.6環境
conda create -n python3.6 python=3.6
#激活使用python3.6
activate python3.6
然后在pycharm編輯器中選擇這個python3.6的環境

安裝pyrealsense2、opencv、numpy庫
Note:配置環境時,不要連接攝像頭設備
安裝pyrealsense2、opencv、numpy,你可以直接在anaconda下搜索pyrealsense2、opencv-python、numpy安裝:

如果這里你的pycharm上找不到相應的包,則是你的conda源的問題,numpy和opencv比較常見,但是pyrealsense2這個包很多軟體源是沒有的,這里推薦官方默認的軟體源,或者使用下述軟體源:
#首先恢復默認源
conda config --remove-key channels
#如果默認源下載速度較慢,可以更換下述軟體源
conda config --add channels
conda config --add channels https://pypi.mirrors.ustc.edu.cn/simple/
conda config --add channels https://mirrors.aliyun.com/pypi/
conda config --add channels https://pypi.doubanio.com/simple/
# 設定搜索時顯示通道地址
conda config --set show_channel_urls yes
當然,這里您也可以直接使用pip安裝相應的包,但記得先激活相應的python環境!
測驗
測驗代碼如下:
import pyrealsense2 as rs
import numpy as np
import cv2
if __name__ == "__main__":
# Configure depth and color streams
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
# Start streaming
pipeline.start(config)
try:
while True:
# Wait for a coherent pair of frames: depth and color
frames = pipeline.wait_for_frames()
depth_frame = frames.get_depth_frame()
color_frame = frames.get_color_frame()
if not depth_frame or not color_frame:
continue
# Convert images to numpy arrays
depth_image = np.asanyarray(depth_frame.get_data())
color_image = np.asanyarray(color_frame.get_data())
# Apply colormap on depth image (image must be converted to 8-bit per pixel first)
depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)
# Stack both images horizontally
images = np.hstack((color_image, depth_colormap))
# Show images
cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
cv2.imshow('RealSense', images)
key = cv2.waitKey(1)
# Press esc or 'q' to close the image window
if key & 0xFF == ord('q') or key == 27:
cv2.destroyAllWindows()
break
finally:
# Stop streaming
pipeline.stop()
? 輸出效果:

輸出結果評價:
-
這里有個現象還沒有弄清,就是圖上RGB的圖上有些紫色的小點點,目前測驗它只會分布在人體周圍,具體原因不清楚,后續解決…
-
可以看出,利用編程軟體配置匯出的深度影像和直接用官方軟體匯出的原始影像還是有了很大的優化,去除了很多未探測到的小黑點噪聲,
記錄筆記
這里面是我一些記錄筆記;
關于pip換源
這里記得后續使用pip安裝避免換源,統一使用零時換源方法,如:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
參考博文鏈接:https://blog.csdn.net/u012525096/article/details/98070898
激活對應版本的python環境
activate python3.6
關于anaconda

anaconda這兩個終端的區別:兩者的主要功能是一致的,就是powershell支持更多的命令,比如ls、pwd etc.
后言
如果文中有什么錯誤或者您有什么疑問,歡迎通過評論或者私信聯系我,提前表示感謝!
最后,適逢春節,給大家拜個早年,祝大家2022年新年快樂,作業順利!
Bibliography
[1]、官方Python版本環境配置檔案
檔案鏈接: https://github.com/IntelRealSense/librealsense/tree/master/wrappers/python.
[2]、CSDN博文:Intel RealSense D435介紹、安裝和使用
博文鏈接: https://blog.csdn.net/cherry_yu08/article/details/83279851.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260349.html
標籤:AI
