私は3チャネルの行列であるCvMatから特定の要素の行と列を取得しようとしています。OpenCVで特定の要素の行と列を取得する方法は?
OpenCVにはどのような機能がありますか?おそらくMatlabの 'find'関数のようなものでしょうか?
私は3チャネルの行列であるCvMatから特定の要素の行と列を取得しようとしています。OpenCVで特定の要素の行と列を取得する方法は?
OpenCVにはどのような機能がありますか?おそらくMatlabの 'find'関数のようなものでしょうか?
あなたはCPPを使用している場合、それは次のように書くこともOKです。
マットreadmat =関数imread( "PIC"、0);
cols = readmat.cols;
rows = readmat.rows;
ところで、私はOpenCVの中に、このような機能については聞いたことがないhere
その「特定の要素は」色のピクセルであり、それが一意である場合、あなたは、あなたが探しているそのユニークポイントのインデックスを取得するためにminMaxLoc()
を使うinRange(src,your_color,your_color,mask)
使用して、それをマスクすることができます。
ではなく、の場合、これは単なるピクセルの後に単一のピクセルを得ることができます(単一のピクセルを単純なループで取得します)が、これを行うのは簡単ですこの残虐行為は、それが短くても、後になります。
サブマトリクスをお探しの場合は、matchTemplate
、次にminMaxLoc
を使用してインデックスを取得してください。
あなたのreply.Actually私はCvMatのCvMatのサイズではなく、特定の要素の行と列を取得していただきありがとうございます。 – ATG