Opencv-Python代码到C++; 我试图把Python代码翻译成C++。 代码如下: kernelx = cv2.getStructuringElement(cv2.MORPH_RECT,(2,10)) dx = cv2.Sobel(res,cv2.CV_16S,1,0) dx = cv2.convertScaleAbs(dx) cv2.normalize(dx,dx,0,255,cv2.NORM_MINMAX) ret,close = cv2.threshold(dx,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) close = cv2.morphologyEx(close,cv2.MORPH_DILATE,kernelx,iterations = 1) contour, hier = cv2.findContours(close,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) for cnt in contour: x,y,w,h = cv2.boundingRect(cnt) if h/w > 5: cv2.drawContours(close,[cnt],0,255,-1) else: cv2.drawContours(close,[cnt],0,0,-1) close = cv2.morphologyEx(close,cv2.MORPH_CLOSE,None,iterations = 2) closex = close.copy()

Opencv-Python代码到C++; 我试图把Python代码翻译成C++。 代码如下: kernelx = cv2.getStructuringElement(cv2.MORPH_RECT,(2,10)) dx = cv2.Sobel(res,cv2.CV_16S,1,0) dx = cv2.convertScaleAbs(dx) cv2.normalize(dx,dx,0,255,cv2.NORM_MINMAX) ret,close = cv2.threshold(dx,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) close = cv2.morphologyEx(close,cv2.MORPH_DILATE,kernelx,iterations = 1) contour, hier = cv2.findContours(close,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) for cnt in contour: x,y,w,h = cv2.boundingRect(cnt) if h/w > 5: cv2.drawContours(close,[cnt],0,255,-1) else: cv2.drawContours(close,[cnt],0,0,-1) close = cv2.morphologyEx(close,cv2.MORPH_CLOSE,None,iterations = 2) closex = close.copy(),python,c++,opencv,Python,C++,Opencv,我唯一的问题是这一行: if h/w > 5: < C++ > API >代码> x/, y , h < /代码>和代码> w >代码>: CV::Rect< /Cord>由 CV返回的对象:: for(size_t i=0;i5) // ... 其他的 // ... } for (size_t i = 0; i < contour.size(); i++) { cv::Mat cnt = contour[i]; cv::Rect rect = cv::bound

我唯一的问题是这一行:

if h/w > 5:

< C++ > API >代码> x/<代码>,<代码> y ,<代码> h < /代码>和<>代码> w >代码>:<代码> CV::Rect< /Cord>由<代码> CV返回的对象::
for(size_t i=0;i5)
// ...
其他的
// ...
}
for (size_t i = 0; i < contour.size(); i++)
{
    cv::Mat cnt = contour[i];
    cv::Rect rect = cv::boundingRect(cnt);
    if (rect.height / rect.width > 5)
        // ...
    else
        // ...
}