diff --git a/samples/dnn/resnet_ssd_face.cpp b/samples/dnn/resnet_ssd_face.cpp index 5fe8b8def1..b8227d7162 100644 --- a/samples/dnn/resnet_ssd_face.cpp +++ b/samples/dnn/resnet_ssd_face.cpp @@ -1,13 +1,11 @@ #include #include #include +#include using namespace cv; -using namespace cv::dnn; - -#include -#include using namespace std; +using namespace cv::dnn; const size_t inWidth = 300; const size_t inHeight = 300; @@ -152,7 +150,7 @@ int main(int argc, char** argv) Size labelSize = getTextSize(label, FONT_HERSHEY_SIMPLEX, 0.5, 1, &baseLine); rectangle(frame, Rect(Point(xLeftBottom, yLeftBottom - labelSize.height), Size(labelSize.width, labelSize.height + baseLine)), - Scalar(255, 255, 255), CV_FILLED); + Scalar(255, 255, 255), FILLED); putText(frame, label, Point(xLeftBottom, yLeftBottom), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0,0,0)); } diff --git a/samples/dnn/ssd_mobilenet_object_detection.cpp b/samples/dnn/ssd_mobilenet_object_detection.cpp index e04f1c3e5e..889f66db1f 100644 --- a/samples/dnn/ssd_mobilenet_object_detection.cpp +++ b/samples/dnn/ssd_mobilenet_object_detection.cpp @@ -2,14 +2,11 @@ #include #include #include +#include using namespace cv; -using namespace cv::dnn; - -#include -#include -#include using namespace std; +using namespace cv::dnn; const size_t inWidth = 300; const size_t inHeight = 300; @@ -22,11 +19,13 @@ const char* classNames[] = {"background", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"}; -const char* params +const String keys = "{ help | false | print usage }" - "{ proto | MobileNetSSD_deploy.prototxt | model configuration }" + "{ proto | MobileNetSSD_deploy.prototxt | model configuration }" "{ model | MobileNetSSD_deploy.caffemodel | model weights }" "{ camera_device | 0 | camera device number }" + "{ camera_width | 640 | camera device width }" + "{ camera_height | 480 | camera device height }" "{ video | | video or image for detection}" "{ out | | path to output video file}" "{ min_confidence | 0.2 | min confidence }" @@ -35,7 +34,7 @@ const char* params int main(int argc, char** argv) { - CommandLineParser parser(argc, argv, params); + CommandLineParser parser(argc, argv, keys); parser.about("This sample uses MobileNet Single-Shot Detector " "(https://arxiv.org/abs/1704.04861) " "to detect objects on camera/video/image.\n" @@ -43,14 +42,14 @@ int main(int argc, char** argv) "https://github.com/chuanqi305/MobileNet-SSD\n" "Default network is 300x300 and 20-classes VOC.\n"); - if (parser.get("help") || argc == 1) + if (parser.get("help")) { parser.printMessage(); return 0; } - String modelConfiguration = parser.get("proto"); - String modelBinary = parser.get("model"); + String modelConfiguration = parser.get("proto"); + String modelBinary = parser.get("model"); CV_Assert(!modelConfiguration.empty() && !modelBinary.empty()); //! [Initialize network] @@ -82,6 +81,9 @@ int main(int argc, char** argv) cout << "Couldn't find camera: " << cameraDevice << endl; return -1; } + + cap.set(CAP_PROP_FRAME_WIDTH, parser.get("camera_width")); + cap.set(CAP_PROP_FRAME_HEIGHT, parser.get("camera_height")); } else { @@ -94,11 +96,11 @@ int main(int argc, char** argv) } //Acquire input size - Size inVideoSize((int) cap.get(CV_CAP_PROP_FRAME_WIDTH), - (int) cap.get(CV_CAP_PROP_FRAME_HEIGHT)); + Size inVideoSize((int) cap.get(CAP_PROP_FRAME_WIDTH), + (int) cap.get(CAP_PROP_FRAME_HEIGHT)); - double fps = cap.get(CV_CAP_PROP_FPS); - int fourcc = static_cast(cap.get(CV_CAP_PROP_FOURCC)); + double fps = cap.get(CAP_PROP_FPS); + int fourcc = static_cast(cap.get(CAP_PROP_FOURCC)); VideoWriter outputVideo; outputVideo.open(parser.get("out") , (fourcc != 0 ? fourcc : VideoWriter::fourcc('M','J','P','G')), @@ -168,7 +170,7 @@ int main(int argc, char** argv) top = max(top, labelSize.height); rectangle(frame, Point(left, top - labelSize.height), Point(left + labelSize.width, top + baseLine), - Scalar(255, 255, 255), CV_FILLED); + Scalar(255, 255, 255), FILLED); putText(frame, label, Point(left, top), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0,0,0)); } diff --git a/samples/dnn/ssd_object_detection.cpp b/samples/dnn/ssd_object_detection.cpp index d88d65498e..10792db679 100644 --- a/samples/dnn/ssd_object_detection.cpp +++ b/samples/dnn/ssd_object_detection.cpp @@ -2,13 +2,11 @@ #include #include #include -using namespace cv; -using namespace cv::dnn; - -#include #include -#include + +using namespace cv; using namespace std; +using namespace cv::dnn; const char* classNames[] = {"background", "aeroplane", "bicycle", "bird", "boat", @@ -144,7 +142,7 @@ int main(int argc, char** argv) Size labelSize = getTextSize(label, FONT_HERSHEY_SIMPLEX, 0.5, 1, &baseLine); rectangle(frame, Rect(Point(xLeftBottom, yLeftBottom - labelSize.height), Size(labelSize.width, labelSize.height + baseLine)), - Scalar(255, 255, 255), CV_FILLED); + Scalar(255, 255, 255), FILLED); putText(frame, label, Point(xLeftBottom, yLeftBottom), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0,0,0)); } diff --git a/samples/dnn/yolo_object_detection.cpp b/samples/dnn/yolo_object_detection.cpp index 1509c52d5c..bd4ad5c9f2 100644 --- a/samples/dnn/yolo_object_detection.cpp +++ b/samples/dnn/yolo_object_detection.cpp @@ -7,8 +7,6 @@ #include #include #include -#include -#include using namespace std; using namespace cv; @@ -26,7 +24,7 @@ static const char* params = "{ model | | model weights }" "{ camera_device | 0 | camera device number}" "{ source | | video or image for detection}" -"{ save | | file name output}" +"{ out | | path to output video file}" "{ fps | 3 | frame per second }" "{ style | box | box or line style draw }" "{ min_confidence | 0.24 | min confidence }" @@ -84,9 +82,9 @@ int main(int argc, char** argv) } } - if(!parser.get("save").empty()) + if(!parser.get("out").empty()) { - writer.open(parser.get("save"), codec, fps, Size((int)cap.get(CAP_PROP_FRAME_WIDTH),(int)cap.get(CAP_PROP_FRAME_HEIGHT)), 1); + writer.open(parser.get("out"), codec, fps, Size((int)cap.get(CAP_PROP_FRAME_WIDTH),(int)cap.get(CAP_PROP_FRAME_HEIGHT)), 1); } vector classNamesVec; @@ -169,7 +167,7 @@ int main(int argc, char** argv) int baseLine = 0; Size labelSize = getTextSize(label, FONT_HERSHEY_SIMPLEX, 0.5, 1, &baseLine); rectangle(frame, Rect(p1, Size(labelSize.width, labelSize.height + baseLine)), - object_roi_color, CV_FILLED); + object_roi_color, FILLED); putText(frame, label, p1 + Point(0, labelSize.height), FONT_HERSHEY_SIMPLEX, 0.5, Scalar(0,0,0)); }