之前閒得無聊,在ros平台上呼叫kinect攝像頭進行目標跟蹤檢測。
首先,要在ubuntu下安裝好kinect2和ros的介面,參考
我貼乙個.cpp的**,詳細的工程檔案放github了
#include//ros標準庫標頭檔案
#include//c++標準輸入輸出庫
#include#include#include#include#include#include#include #include #include using namespace std;
using namespace cv;
namespace enc = sensor_msgs::image_encodings;
int min_h = 18;
int min_s = 138;
int min_v = 116;
int max_h = 44;
int max_s = 190;
int max_v = 243;
static const string rgb_window = "rgb image";
static const string gray_window = "gray image";
static const string hsv_window = "hsv image";
static const string thresholded_window = "thresholded image";
static const string track_window = "track image";
//定義乙個轉換的類
class kinect2_ros
~kinect2_ros() //析構函式
void img_callback(const sensor_msgs::imageconstptr& msg)
catch (cv_bridge::exception& e)
cv_ptr->image.copyto(rgbimage);
mat image_gray,img_hsv,img_mask;
cvtcolor(cv_ptr->image, image_gray, cv_rgb2gray);//灰度處理
cvtcolor(cv_ptr->image,img_hsv,cv_bgr2hsv);//hsv處理
inrange(img_hsv,cv::scalar(min_h,min_s,min_v),cv::scalar(max_h,max_s,max_v),img_mask);//滾動條範圍
imshow(rgb_window, cv_ptr->image);
imshow(gray_window, image_gray);
imshow(hsv_window, img_hsv);
imshow(thresholded_window, img_mask);
mat result = rgbimage.clone();
//查詢輪廓並繪製輪廓
vector> contours;
drawcontours(result, contours, -1, scalar(0, 0, 255), 2);//在result上繪製輪廓
//查詢正外接矩形
vectorboundrect(contours.size());
for (int i = 0; i < contours.size(); i++)
//計算外界矩形的面積
for (int i = 0; i < (int)boundrect.size(); i++)
imshow(track_window, result);
waitkey(3);
image_pub_.publish(cv_ptr->toimagemsg());
}};int main(int argc, char** argv)
具體效果如圖,其實也就是用了些hsv,呼叫個kinect影象,費這麼大周轉,服了我自己......
rviz中新增kinect2的模型
not enough blocks xacroexception not enough blocks when instantiating macro kinect2 xacro home cbc catkin ws src iai robots iai kinect2 description ur...
kinect 2時斷時續問題解決
首先我不是做開發,只是想用kinect 2做vr綠幕摳圖,然後購買了一套二手的kinecet 2及介面卡.悲劇就此開始。沒想到十幾年沒搞開發的人,又重新來到這個 差不多用了半個月時間才算完全搞定,我在微軟官網和本 找到一些相關的技術貼子,但幫助都不大,但給我很大啟發。所以把自己經歷寫下來供後面參考。...
用Camshift演算法對指定目標進行跟蹤
camshift演算法是continuously adaptive mean shift algorithm的簡稱。它是乙個基於meansift的改進演算法。它首次由gary r.bradski等人提出和應用在人臉的跟蹤上,並取得了不錯的效果。因為它是利用顏色的概率資訊進行的跟蹤。使得它的執行效率比...