Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions yolov8_seg_onnx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ bool Yolov8SegOnnx::ReadModel(const std::string& modelPath, bool isCuda, int cud
catch (const std::exception&) {
return false;
}
return true;

}

Expand Down Expand Up @@ -240,9 +241,9 @@ bool Yolov8SegOnnx::OnnxBatchDetect(std::vector<cv::Mat>& srcImgs, std::vector<s
all_data += one_output_length;
float* pdata = (float*)output0.data;
int rows = output0.rows;
std::vector<int> class_ids;//���id����
std::vector<float> confidences;//���ÿ��id��Ӧ���Ŷ�����
std::vector<cv::Rect> boxes;//ÿ��id���ο�
std::vector<int> class_ids;//结果id数组
std::vector<float> confidences;//结果每个id对应置信度数组
std::vector<cv::Rect> boxes;//每个id矩形框
std::vector<vector<float>> picked_proposals; //output0[:,:, 5 + _className.size():net_width]===> for mask
for (int r = 0; r < rows; ++r) { //stride
cv::Mat scores(1, _className.size(), CV_32F, pdata + 4);
Expand All @@ -264,7 +265,7 @@ bool Yolov8SegOnnx::OnnxBatchDetect(std::vector<cv::Mat>& srcImgs, std::vector<s
confidences.push_back(max_class_socre);
boxes.push_back(Rect(left, top, int(w + 0.5), int(h + 0.5)));
}
pdata += net_width;//��һ��
pdata += net_width;//下一行
}

vector<int> nms_result;
Expand Down Expand Up @@ -294,7 +295,7 @@ bool Yolov8SegOnnx::OnnxBatchDetect(std::vector<cv::Mat>& srcImgs, std::vector<s
}

//******************** ****************
// �ϰ汾�ķ�������������ڿ�����ע�͵IJ���֮��һֱ����������ʹ�������
// 老版本的方案,如果上面在开启我注释的部分之后还一直报错,建议使用这个。
// If the GetMask2() still reports errors , it is recommended to use GetMask().
//Mat mask_proposals;
//for (int i = 0; i < temp_mask_proposals.size(); ++i) {
Expand All @@ -310,4 +311,4 @@ bool Yolov8SegOnnx::OnnxBatchDetect(std::vector<cv::Mat>& srcImgs, std::vector<s
return true;
else
return false;
}
}