• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

类matlab find函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

逻辑矩阵,找出元素1并记录其位置索引。

 

 1 int main(int argc, char** argv)
 2 {
 3     unsigned char acSrc[4][4] =
 4     {
 5         0, 1, 1, 0,
 6         1, 0, 0, 1,
 7         1, 0, 1, 1,
 8         1, 1, 0, 0,
 9     };
10     printf("acSrc-data address:%p\n", acSrc);
11 
12     Mat src(4, 4, CV_8UC1, acSrc);
13     printf("src-data address:%p\n", src.data);
14 
15     cout << src << endl;
16 
17     vector<int> vec_row;
18     vector<int> vec_col;
19 
20     for (int j = 0; j < src.cols; ++j)    
21     {
22         for (int i = 0; i < src.rows; ++i)
23         {
24             if (1 == src.at<unsigned char>(i, j))
25             {
26                 vec_row.push_back(i);
27                 vec_col.push_back(j);
28             }
29             //cout << src.at<int>(i, j) << endl;
30         }
31     }
32 
33     cout << "vec_row.size:" << vec_row.size() << endl;
34     cout << "vec_col.size:" << vec_col.size() << endl;
35 
36     vector<int>::iterator iter_row = vec_row.begin();
37     vector<int>::iterator iter_col = vec_col.begin();
38 
39     Mat m = Mat::zeros(4, 4, CV_8UC1); 
40     cout << m << endl;
41 
42     for (; (iter_row != vec_row.end()) && (iter_col != vec_col.end()); ++iter_row, ++iter_col)
43     {
44         cout << *iter_row << ", " <<  *iter_col << endl; 
45         
46         m.at<uchar>(*iter_row, *iter_col) = 1;
47     }
48 
49     cout << m << endl;
50 
51     return 0;
52 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi2010的组件/控件发布时间:2022-07-18
下一篇:
DelphiTIdTCPServer组件发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap