MCPcopy Create free account
hub / github.com/abreheret/PixelAnnotationTool / watershed

Function watershed

src/utils.cpp:121–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

119}
120
121QImage watershed(const QImage& qimage, const QImage & qmarkers_mask) {
122 cv::Mat image = qImage2Mat(qimage);
123 cv::Mat markers_mask = qImage2Mat(qmarkers_mask);
124 cv::Mat markers = cv::Mat::zeros(markers_mask.size(), CV_32S);
125 for (int y = 0; y < markers_mask.rows; y++) {
126 int* mark = markers.ptr<int>(y);
127 cv::Vec3b* mask = markers_mask.ptr<cv::Vec3b>(y);
128 for (int x = 0; x < markers_mask.cols; x++) {
129 mark[x] = mask[x][0];
130 }
131 }
132 cv::watershed(image, markers);
133 cv::Mat new_mask = convertMat32StoRGBC3(markers);
134 return mat2QImage(new_mask);
135}
136
137QImage removeBorder(const QImage & mask_id, const Id2Labels & labels, cv::Size win_size) {
138 QImage result = mask_id.copy();

Callers 1

runWatershedMethod · 0.85

Calls 3

qImage2MatFunction · 0.85
convertMat32StoRGBC3Function · 0.85
mat2QImageFunction · 0.85

Tested by

no test coverage detected