gpt4 book ai didi

opencv - CvMat setTo 在 javaCV 中等效

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:28 28 4
gpt4 key购买 nike

我一直在尝试在 cvMat 上应用椭圆蒙版。在 C++ 中,代码将如下所示:

Mat mask = Mat(warped.size(), CV_8UC1, Scalar(255));
double dw = DESIRED_FACE_WIDTH;
double dh = DESIRED_FACE_HEIGHT;
Point faceCenter = Point( cvRound(dw * 0.5),
cvRound(dh * 0.4) );
Size size = Size( cvRound(dw * 0.5), cvRound(dh * 0.8) );
ellipse(mask, faceCenter, size, 0, 0, 360, Scalar(0),CV_FILLED);
filtered.setTo(Scalar(128), mask);

我无法在 javaCV 中找到任何与 setTo 等效的方法。任何人都可以帮助解决这个问题。

最佳答案

您需要从标量创建一个 1x1 矩阵并使用它来代替类似于:

filtered.setTo(Mat(1,1,CV_16S1C1, 128), mask);

方法定义为:

@ByRef
public native opencv_core.Mat setTo(@ByVal opencv_core.Mat var1, @ByVal(
nullValue = "cv::noArray()"
) opencv_core.Mat var2);

关于opencv - CvMat setTo 在 javaCV 中等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14279655/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com