Merge remote-tracking branch 'origin/master'

# Conflicts:
#	main.cpp
This commit is contained in:
xinyang
2019-08-09 01:26:08 +08:00
7 changed files with 28 additions and 19 deletions

1
.gitignore vendored
View File

@@ -11,3 +11,4 @@ others/MV-UB31-Group0.config
.DS_Store .DS_Store
gimbal_video gimbal_video
chassis_video chassis_video
test_video

View File

@@ -99,24 +99,30 @@ void Energy::FlowStripFanStruct(cv::Mat &src) {
// --------------------------------------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------------------------------------
void Energy::FlowStripStruct(cv::Mat &src) { void Energy::FlowStripStruct(cv::Mat &src) {
Mat element_dilate_1 = getStructuringElement(MORPH_RECT, Size(5, 5)); Mat element_dilate_1 = getStructuringElement(MORPH_RECT, Size(5, 5));
Mat element_erode_1 = getStructuringElement(MORPH_RECT, Size(3, 3)); Mat element_erode_1 = getStructuringElement(MORPH_RECT, Size(5, 5));
Mat element_dilate_2 = getStructuringElement(MORPH_RECT, Size(3, 3)); Mat element_dilate_2 = getStructuringElement(MORPH_RECT, Size(2, 2));
Mat element_erode_2 = getStructuringElement(MORPH_RECT, Size(2 , 2)); Mat element_erode_2 = getStructuringElement(MORPH_RECT, Size(2 , 2));
Mat element_dilate_3 = getStructuringElement(MORPH_RECT, Size(3, 3)); Mat element_dilate_3 = getStructuringElement(MORPH_RECT, Size(2, 2));
Mat element_erode_3 = getStructuringElement(MORPH_RECT, Size(1 , 1)); Mat element_erode_3 = getStructuringElement(MORPH_RECT, Size(2 , 2));
Mat element_dilate_4 = getStructuringElement(MORPH_RECT, Size(2, 2));
Mat element_erode_4 = getStructuringElement(MORPH_RECT, Size(1 , 1));
dilate(src, src, element_dilate_1); // dilate(src, src, element_dilate_1);
// imshow("dilate_1", src); // imshow("dilate_1", src);
erode(src,src, element_erode_1); erode(src,src, element_erode_1);
// imshow("erode_1", src); imshow("erode_1", src);
erode(src,src, element_erode_2); // erode(src,src, element_erode_2);
// imshow("erode_2", src); // imshow("erode_2", src);
erode(src,src, element_erode_3); // erode(src,src, element_erode_3);
// imshow("erode_3", src); // imshow("erode_3", src);
// dilate(src, src, element_dilate_2); dilate(src, src, element_dilate_1);
// imshow("dilate_2", src); // imshow("dilate_1", src);
dilate(src, src, element_dilate_2);
imshow("dilate_2", src);
// dilate(src, src, element_dilate_3); // dilate(src, src, element_dilate_3);
// imshow("dilate_3", src); // imshow("dilate_3", src);
// dilate(src, src, element_dilate_4);
// imshow("dilate_4", src);
} }

View File

@@ -35,5 +35,5 @@ void Energy::initImage(cv::Mat &src) {
threshold(src, src, energy_part_param_.BLUE_GRAY_THRESH, 255, THRESH_BINARY); threshold(src, src, energy_part_param_.BLUE_GRAY_THRESH, 255, THRESH_BINARY);
} }
if (show_process)imshow("bin", src); if (show_process)imshow("bin", src);
if (show_energy)waitKey(1); if (show_energy || show_process)waitKey(1);
} }

View File

@@ -83,7 +83,7 @@ void Energy::initEnergy() {
void Energy::initEnergyPartParam() { void Energy::initEnergyPartParam() {
// gimbal_energy_part_param_.GRAY_THRESH = 120;//home // gimbal_energy_part_param_.GRAY_THRESH = 120;//home
// gimbal_energy_part_param_.GRAY_THRESH = 200;//official // gimbal_energy_part_param_.GRAY_THRESH = 200;//official
gimbal_energy_part_param_.RED_GRAY_THRESH = 180;//game gimbal_energy_part_param_.RED_GRAY_THRESH = 150;//game
gimbal_energy_part_param_.BLUE_GRAY_THRESH = 100;//game gimbal_energy_part_param_.BLUE_GRAY_THRESH = 100;//game
gimbal_energy_part_param_.SPLIT_GRAY_THRESH = 180; gimbal_energy_part_param_.SPLIT_GRAY_THRESH = 180;
gimbal_energy_part_param_.FAN_GRAY_THRESH = 75; gimbal_energy_part_param_.FAN_GRAY_THRESH = 75;
@@ -143,9 +143,11 @@ void Energy::initEnergyPartParam() {
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MIN = 32; gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MIN = 32;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MAX = 55; gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MAX = 55;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MIN = 4; gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MIN = 4;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MAX = 20; // gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MAX = 20;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MAX = 40;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MAX = 7; gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MAX = 7;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MIN = 3; // gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MIN = 3;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MIN = 1;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_AREA_RATIO_MIN = 0.6; gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_AREA_RATIO_MIN = 0.6;
gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_INTERSETION_AREA_MIN = 100; gimbal_energy_part_param_.FLOW_STRIP_CONTOUR_INTERSETION_AREA_MIN = 100;

View File

@@ -417,7 +417,7 @@ bool Energy::findCenterROI(const cv::Mat src) {
flow_strip.center.y - target_point.y); flow_strip.center.y - target_point.y);
p2p = p2p / pointDistance(flow_strip.center, target_point);//单位化 p2p = p2p / pointDistance(flow_strip.center, target_point);//单位化
center_ROI = cv::RotatedRect(cv::Point2f(flow_strip.center + p2p * length * 1.7), center_ROI = cv::RotatedRect(cv::Point2f(flow_strip.center + p2p * length * 1.7),
Size2f(length * 1.4, length * 1.4), -90); Size2f(length * 1.7, length * 1.7), -90);
return true; return true;
} }

View File

@@ -76,7 +76,7 @@ bool Energy::findTargetInFlowStripFan() {
// waitKey(); // waitKey();
// cout << "target armor cnt: " << target_armors.size() << endl; // cout << "target armor cnt: " << target_armors.size() << endl;
if (target_armors.empty()) { if (target_armors.empty()) {
if (show_info)cout << "t6find target armor false" << endl; if (show_info)cout << "find target armor false" << endl;
return false; return false;
} else { } else {
return true; return true;

View File

@@ -66,8 +66,8 @@ int main(int argc, char *argv[]) {
video_gimbal = new CameraWrapper(ARMOR_CAMERA_EXPOSURE, ARMOR_CAMERA_GAIN, 2/*, "armor"*/); video_gimbal = new CameraWrapper(ARMOR_CAMERA_EXPOSURE, ARMOR_CAMERA_GAIN, 2/*, "armor"*/);
video_chassis = new CameraWrapper(ENERGY_CAMERA_EXPOSURE, ENERGY_CAMERA_GAIN, 2/*, "energy"*/); video_chassis = new CameraWrapper(ENERGY_CAMERA_EXPOSURE, ENERGY_CAMERA_GAIN, 2/*, "energy"*/);
} else { } else {
video_gimbal = new VideoWrapper(PROJECT_DIR"/gimbal_video/1.avi"); video_gimbal = new VideoWrapper(PROJECT_DIR"/8-7-NO7.avi");
video_chassis = new VideoWrapper(PROJECT_DIR"/gimbal_video/1.avi"); video_chassis = new VideoWrapper(PROJECT_DIR"/8-7-NO7.avi");
} }
if (video_gimbal->init()) { if (video_gimbal->init()) {
LOGM("video_gimbal source initialization successfully."); LOGM("video_gimbal source initialization successfully.");