擅长:python、mysql、java
<pre><code>Mat crop(Mat image){
Mat cropped, grayed, thresh, result;
vector<vector<Point>> contours;
vector<Vec4i> hierarchy;
cvtColor(image, grayed, CV_BGR2GRAY);
threshold( grayed, thresh, 1, 255,THRESH_BINARY);
findContours( thresh, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE);
vector<int> x,y;
for(int i=0; i < contours.size();i++){
for(int j = 0; j < contours.at(i).size();j++){
x.push_back(contours[i][j].x);
y.push_back(contours[i][j].y);
}
}
auto xVals = std::minmax_element(x.begin(), x.end());
auto yVals = std::minmax_element(y.begin(), y.end());
Rect rect (*xVals.first,*yVals.first,(*xVals.second)-(*xVals.first),(*yVals.second)-(*yVals.first));
cropped = image(rect);
return cropped;
</code></pre>
<p>}</p>