簡単な質問ですが、理解できません。cv :: maskはopencv minMaxLocのように見えますか?
マスクはどのように見えますか?(入力配列src、double * minVal、double * maxVal = 0、Point * maxLoc = 0、Point * maxLoc = 0、InputArray mask = noArray()
これは1次元のMat(1行のみ)で、Mat(maxRowGChnnl)の間隔(upperBorderまで下限)のminMaxの位置が必要です。あなたの助けのための
OpenCV Error: Assertion failed ((cn == 1 && (mask.empty() || mask.type() == CV_8
U)) || (cn >= 1 && mask.empty() && !minIdx && !maxIdx)) in unknown function, fil
e ..\..\..\src\opencv\modules\core\src\stat.cpp, line 787
ありがとう:とabborts上記
maxRowGChnnl {flags=1124024325 dims=2 rows=1 ...} cv::Mat
flags 1124024325 int
dims 2 int
rows 1 int
cols 293 int
コード:
int lowerBorder,upperBorder;
lowerBorder = 30;
upperBorder = 100;
cv::minMaxLoc(maxRowGChnnl.row(0),&minValue,&maxValue,&minLoc,&maxLoc,(lowerBorder,upperBorder));
これはmaxRowGChnnlサイズです。
これは私が考えていた答え(解決方法)です。しかし実際にはうまくいかなかった。 maxLocを印刷するとき、私は[-1、-1]をreseaveします。 maxRowGChnnl(cv :: Rect(lower、0、upper-lower、0))を出力するとき、出力は[] - 空です。しかし、Mat maxRowGChnnlには値が入っています!私は間違って何をしていますか? – user1651460
Oups。私の悪い。高さはもちろん1でなければなりません。 0ではありません。maxRowGChnnl(cv :: Rect(lower、0、upper-lower、1)) –
パーフェクトを使用してください。それでおしまい!さて、私は今すぐrectの建設を参照してください。 – user1651460