<私は今バイナリイメージ(キャニー検出器の出力)を持っています。1を持つポイントのすべての座標をImp_Points(ベクトルPoint2fで定義)と呼ばれる別の変数に保存したいと思います。
画像でforループを使用して「1」を確認し、それらの座標を「Imp_Points」に割り当てようとしましたが、C++でこれを行う方法がわかりませんでした。
opencvを使用してC++でそれを行う方法に関する提案はありますか?前もって感謝します!>>
最初に cv::Mat を反復する方法を見てください: http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html#mat
次に、ピクセル値が 255 のときにベクトルに座標を追加する必要があります。8 ビットの Canny 出力があると仮定します。
Vector <Point2f>Imp_Points;
for(int i=0;i<bn_img.rows;i++) {
for(int j=0;j<bn_img.cols;j++)`{
Point p=new Point(j,i);
int v=bn_img<uchar>.at(p);//check the datatype of Mat here
if(v==1)
Imp_Points.push_back(p);
}