作者s123123sam (~火火狗)
看板MATLAB
标题Re: [问题]有无方法读取二值图片 自动瘦身
时间Fri Sep 14 17:51:38 2012
※ 引述《david5192003 (321)》之铭言:
: 原图
: http://ppt.cc/zLgW
: MATLAB自动把全为0的行或是列去除
: 变成http://ppt.cc/AXWx
: 因为自己写回圈 配if速度偏慢 处理量有点多
: 所雅想问看看有无方法
: 向如果用find 找1 在依造座标作一张图 右边跟下面的黑色区域就会不见
: 但上跟左还在 想要去除
: 谢谢
看你的叙述可以这样做
不需要用到回圈、与if
假设temp_daata 为读进来的图档案矩阵
利用sum 指令决定要保留边界位置
程式码如下
% temp_daate 原图档案矩阵
%% out Value
% cedata 去除黑边的图档
temp_daata =[
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 1 1 0
0 0 1 0 0 1 0 0
0 0 0 0 1 0 1 0
0 0 0 0 1 0 0 0
0 0 0 1 0 1 0 0
0 0 0 0 0 0 0 0
];
temp_a =sum(temp_daata,2);
temp_b = sum(temp_daata);
temp_ab =find(temp_a >=1);
temp_bb =find(temp_b >=1);
ce_data=temp_daata(temp_ab(1):temp_ab(size(temp_ab,1)),...
temp_bb(1):temp_bb(size(temp_bb,2)));
clear temp_daata temp_a temp_b temp_ab temp_bb
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.127.6.148
※ 编辑: s123123sam 来自: 140.127.6.148 (09/14 17:52)
※ 编辑: s123123sam 来自: 140.127.6.148 (09/14 17:54)
※ 编辑: s123123sam 来自: 140.127.6.148 (09/14 17:55)
※ 编辑: s123123sam 来自: 140.127.6.148 (09/14 17:56)
※ 编辑: s123123sam 来自: 140.127.6.148 (09/14 17:58)
1F:推 david5192003:测试过後 虽然边边还留有一点黑框 但非常接近想要的 09/14 22:53
2F:→ david5192003:概念 太感谢了 太厉害了!! 09/14 22:54
3F:推 david5192003:有黑边是我输入图档的问题@@ 我的错 谢原PO的指导 09/14 23:16
4F:→ s123123sam:不客气 互相交流吧 自己也还在努力 在 振动噪音方面 09/15 09:01
※ 编辑: s123123sam 来自: 140.127.6.148 (09/16 16:38)