Modify yolov7 and visualize functions (#82)

modify yolov7 and visualize functions
This commit is contained in:
Jason
2022-08-09 10:16:41 +08:00
committed by GitHub
parent 36b2bfaa33
commit b2cd30e64f
29 changed files with 653 additions and 249 deletions

View File

@@ -22,34 +22,41 @@ void BindVisualize(pybind11::module& m) {
[](pybind11::array& im_data, vision::DetectionResult& result,
int line_size, float font_size) {
auto im = PyArrayToCvMat(im_data);
vision::Visualize::VisDetection(&im, result, line_size,
font_size);
auto vis_im = vision::Visualize::VisDetection(
im, result, line_size, font_size);
FDTensor out;
vision::Mat(vis_im).ShareWithTensor(&out);
return TensorToPyArray(out);
})
.def_static(
"vis_face_detection",
[](pybind11::array& im_data, vision::FaceDetectionResult& result,
int line_size, float font_size) {
auto im = PyArrayToCvMat(im_data);
vision::Visualize::VisFaceDetection(&im, result, line_size,
font_size);
auto vis_im = vision::Visualize::VisFaceDetection(
im, result, line_size, font_size);
FDTensor out;
vision::Mat(vis_im).ShareWithTensor(&out);
return TensorToPyArray(out);
})
.def_static(
"vis_segmentation",
[](pybind11::array& im_data, vision::SegmentationResult& result,
pybind11::array& vis_im_data, const int& num_classes) {
[](pybind11::array& im_data, vision::SegmentationResult& result) {
cv::Mat im = PyArrayToCvMat(im_data);
cv::Mat vis_im = PyArrayToCvMat(vis_im_data);
vision::Visualize::VisSegmentation(im, result, &vis_im,
num_classes);
auto vis_im = vision::Visualize::VisSegmentation(im, result);
FDTensor out;
vision::Mat(vis_im).ShareWithTensor(&out);
return TensorToPyArray(out);
})
.def_static(
"vis_matting_alpha",
[](pybind11::array& im_data, vision::MattingResult& result,
pybind11::array& vis_im_data, bool remove_small_connected_area) {
cv::Mat im = PyArrayToCvMat(im_data);
cv::Mat vis_im = PyArrayToCvMat(vis_im_data);
vision::Visualize::VisMattingAlpha(im, result, &vis_im,
remove_small_connected_area);
});
.def_static("vis_matting_alpha",
[](pybind11::array& im_data, vision::MattingResult& result,
bool remove_small_connected_area) {
cv::Mat im = PyArrayToCvMat(im_data);
auto vis_im = vision::Visualize::VisMattingAlpha(
im, result, remove_small_connected_area);
FDTensor out;
vision::Mat(vis_im).ShareWithTensor(&out);
return TensorToPyArray(out);
});
}
} // namespace fastdeploy