平面測距做不出來了,無奈只好用單目單點測距頂上!感謝mbees大神提供的裝置和技術上的支援,有時間大家給大神的部落格點個關注吧,謝謝。老規矩,直接貼**!
#include "stdafx.h"
#include #include "highgui.h"
#include #include using namespace cv;
using namespace std;
mat src; //原影象儲存變數
mat src_gray; //存灰度圖變數
int thresh = 180; //閾值設定
int max_thresh = 255;//最大閾值
int main( int argc, char** argv )
//計算輪廓的質心
vectormc( contours.size() );
for( int i = 0; i < contours.size(); i++ )
//畫輪廓及其質心並顯示
mat drawing = mat::zeros( canny_output.size(), cv_8uc3 );
for( int i = 0; i< contours.size(); i++ )
scalar color = scalar( 255, 0, 0);
drawcontours( drawing, contours, i, color, 2, 8, hierarchy, 0, point() );
circle( drawing, mc[i], 5, scalar( 0, 0, 255), -1, 8, 0 );
rectangle(drawing, boundingrect(contours.at(i)), cvscalar(0,255,0));
double gain = 0.001644074345 ;
double offset =0.001607879449 ;//offset是弧度誤差
unsigned int pixels_from_center =320 - mc[i].x;
// 算出距離並列印出來
if(pixels_from_center>140)
else if(pixels_from_center>104)
else
const double h_cm = 7.00; // 攝像頭和雷射頭距離cm
double range;
range = h_cm / tan(pixels_from_center * gain + offset);
char tam[100];
sprintf(tam, "(%0.0f,%0.0f,%d,%0.3fcm)",mc[i].x,mc[i].y,pixels_from_center,range);
cout<<"距離="
}
namedwindow( "雷射點引數", 0 );
imshow( "雷射點引數", drawing );
char c = cvwaitkey(10);
if( c == 27 ) break;
}src.release();
src_gray.release();
return 0;
}
畢業設計記錄
2019年4月13日 今天想要解決的是植物與使用者的繫結問題 區別植物的話可以根據plantid實現與植物的一一對應 設想乙個產品id,寫在硬體產品的說明數裡面,使用者在設定引數時需要將植物與裝置繫結。插入該植物的相關引數 insert insert plant plantname,plantpic...
畢業設計記錄 2 13
1.今天重新設計了資料庫,做了比較細緻的修改,增加了5個表。2.完成了spring boot mybatis連線資料庫的generator,完成了登入功能。對一些問題做點記錄 1 generatorconfig.xml的頭文標紅 左邊有紅色小燈泡,點選fetch external resource即...
2018 3 28畢業設計過程
1.安裝微擎框架,因資料庫密碼不正確,遂修改mysql資料庫root許可權預設密碼。登入ip為localhost的是主使用者。修改後phpadmin無法登入,顯示 1045 access denied for user root localhost using password no cfg ser...