- 機(jī)器視覺
- 機(jī)器語音
機(jī)器視覺
ROS中的圖像數(shù)據(jù)
攝像頭標(biāo)定
ROS+OpenCV應(yīng)用實(shí)例(人臉識別,目標(biāo)跟蹤)
二維碼識別
擴(kuò)展內(nèi)容:物體識別與機(jī)器學(xué)習(xí)
ROS中的圖像數(shù)據(jù)(二維圖像)
啟動(dòng)攝像頭
roslaunch usb_cam usb_cam-test.launch
查看當(dāng)前話題
rostopic list
顯示圖像類型
rostopic info /usb_cam/image_raw
查看圖像消息
rosmsg show sensor_msgs/Image
- Header:消息頭,包含消息序號,時(shí)間戳和綁定坐標(biāo)系
- height:圖像的縱向分辨率
- width:圖像的橫向分辨率
- encoding:圖像的編碼格式脉执,包含RGB侦铜、YUV等常用格式,不涉及圖像壓縮編碼
- is_bigendian:圖像數(shù)據(jù)的大小端存儲模式
- step:一行圖像數(shù)據(jù)的字節(jié)數(shù)量遮晚,作為數(shù)據(jù)的步長參數(shù)
- data:存儲圖像數(shù)據(jù)的數(shù)組,大小為step×height個(gè)字節(jié)
壓縮圖像消息
- format:圖像壓縮編碼格式(jpeg拦止、png县遣、bmp)
- data:存儲圖像數(shù)據(jù)數(shù)組
三維圖像
啟動(dòng)kinect
roslaunch freenect_launch freenect.launch
查看話題信息
rostopic info /camera/depth_registered/points
查看點(diǎn)云信息
rosmsg show sensor_msgs/PointCloud2
height:點(diǎn)云圖像的縱向分辨率
width:點(diǎn)云圖像的橫向分辨率
fields:每個(gè)點(diǎn)的數(shù)據(jù)類型
is_bigendian:數(shù)據(jù)的大小端存儲模式
point_step:單點(diǎn)的數(shù)據(jù)字節(jié)步長
row_step:一列數(shù)據(jù)的字節(jié)步長
data:點(diǎn)云數(shù)據(jù)的存儲數(shù)組,總字節(jié)大小為row_stap*height
is_dense:是否有無效點(diǎn)
攝像頭標(biāo)定
安裝標(biāo)定功能包
sudo apt-get install ros-kinetic-camera-calibration
攝像頭標(biāo)定流程
?啟動(dòng)攝像頭
?roslaunch robot_vision usb_cam.launch
?啟動(dòng)標(biāo)定包
?rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/usb_cam/image_raw camera:=/usb_cam
?將標(biāo)定包左右移動(dòng)旋轉(zhuǎn)汹族,直到標(biāo)定完成
ROS+OpenCV
Open Source Computer Vision Library
安裝OpenCV
sudo apt-get install ros-kinetic-vision-opencv libopencv-dev python-opencv
測試?yán)?br> roslaunch robot_vision usb_cam.launch
rosrun robot_vision cv_bridge_test.py
rqt_image_view
ROS+OpenCV應(yīng)用實(shí)例之人臉識別
基于Haar特征的幾聯(lián)分類器對象檢測算法
灰階色彩轉(zhuǎn)換->縮小攝像頭圖像->直方圖均衡化->檢測人臉
啟動(dòng)人臉識別例程
roslaunch robot_vision usb_cam.launch
roslaunch robot_vision face_detector.launch
rqt_image_view
ROS+OpenCV應(yīng)用實(shí)例之物體跟蹤
圖像輸入->特征點(diǎn)采樣->兩幀圖像灰度值對比->特征點(diǎn)估計(jì)->特征點(diǎn)過濾->結(jié)果輸出
啟動(dòng)物體跟蹤實(shí)例
roslaunch robot_vision usb_cam.launch
roslaunch robot_vision motion_detector.launch
rqt_image_view
二維碼識別
安裝二維碼識別功能包
sudo apt-get install ros-kinetic-ar-track-alvar
創(chuàng)建二維碼
roscore
rosrun ar_track_alvar createMaker -s 5 0
啟動(dòng)攝像頭二維碼識別實(shí)例
roslaunch robot_vision ar_track_camera.launch
在執(zhí)行過程中遇到bug萧求,詳見https://blog.csdn.net/weixin_44455731/article/details/95044192
roslaunch robot_vision ar_track_camer.launch
機(jī)器語音
常用功能包
pocketsphinx
audio-common
AIMIL
科大訊飛SDK
下載SDK后,解壓縮
cmake
將下圖中的文件拷貝到/usr/lib!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(很重要)
image.png
然后在bin文件夾中執(zhí)行iat_online_record_sample
image.png
科大訊飛實(shí)例2
再次強(qiáng)調(diào)顶瞒,應(yīng)定要講libs中的libmsc.so拷貝到/usr/lib
語音合成
roscore
rosrun robot_voice tts_subscribe
rostopic pub /voiceWords std_msgs/String "data:'你好夸政,我是機(jī)器人'"
從圖中可以看出,剛執(zhí)行的時(shí)候會(huì)報(bào)一個(gè)錯(cuò)誤sh: 1: mplayer: not found
解決方法是sudo apt-get install mplayer
語音助手實(shí)例
roscore
rosrun robot_voice iat_publish
rosrun robot_voice voice_assistant
rostopic pub /voiceWakeup std_msgs/String "data: 'hello robot'"