【发布时间】:2017-10-09 08:15:48
【问题描述】:
我正在将一个 opencv 代码从 c++ 转换为 python 并卡在 Floodfill 附近的某个地方。
c++ 实现是
Mat floodFilled = cv::Mat::zeros(dilateGrad.rows+2, dilateGrad.cols+2, CV_8U);
floodFill(dilateGrad, floodFilled, cv::Point(0, 0), 0, 0, cv::Scalar(), cv::Scalar(), 4 + (255 << 8) + cv::FLOODFILL_MASK_ONLY);
floodFilled = cv::Scalar::all(255) - floodFilled;
Mat temp;
floodFilled(Rect(1, 1, dilateGrad.cols-2, dilateGrad.rows-2)).copyTo(temp);
我的python实现
h, w = dilateGrad.shape[:2]
floodFilled =np.zeros((h+2,w+2),dtype = np.uint8)
cv2.floodFill(dilateGrad,floodFilled,(0,0),255,cv2.FLOODFILL_MASK_ONLY)
floodFilled = np.all(255) - floodFilled
floodFilled = cv2.rectangle(dilateGrad,1,1,(h-2,w-2),floodFilled,cv2.CV_8U)
我是 python 中的 opencv 新手,感谢任何人的帮助。
【问题讨论】:
-
有什么问题?
-
@GPPK 我无法解码 Floodfill 的最后一部分,即为 Floodfill 创建一个标量值以及如何创建矩形