【发布时间】:2016-01-18 15:27:29
【问题描述】:
我有几行 matlab 代码来应用八角形的结构元素。我想把同样的代码转换成opencv cpp。
Matlab 代码
se1 = strel('octagon',3);
imgNew = imerode(image,se1);
Opencv Cpp 代码
我知道我们可以创建一个结构元素然后我们必须调用 erode 函数,但是如何在 opencv 中创建八边形结构元素。
element = ??
erode(image,dst,element);
如何在opencv中创建八边形结构元素?
【问题讨论】:
-
除非您自己创建结构化元素,否则没有等效的调用。
-
感谢您的回复。如何创建八边形结构元素。请
-
如果椭圆符合您的需要,您可以使用内置函数
cv::getStructuringElement(int shape, Size ksize, Point anchor=Point(-1,-1)),其中形状可以是“MORPH_RECT”、“MORPH_ELLIPSE”或“MORPH_CROSS”。更多信息docs.opencv.org/3.0-beta/modules/imgproc/doc/… -
在 MATLAB 中执行
open strel,然后搜索MakeOctagonStrel函数。您可以将该源代码翻译成 OpenCV C++。 -
谢谢,我会试试的
标签: c++ matlab opencv image-processing