matlab image uint8数组,找到最左/上/下/右像素位置

mug*_*tsu 1 matlab image-processing

如何使用uint8数组保存图像数据?假设我有一个模糊的圆形图像,而不是一个矩形,因此圆圈之外没有像素数据.如何进入最顶部的像素位置?最底部?等等...而且这个图像不一定是圆形,它可能是一些模糊和非几何的东西.

cyb*_*org 8

图像被加载到行x列x RGB的数组中.假设缺少的像素是零,这里是顶部/底部/左/右坐标:

[top_col, top_row]= find(sum(I,3)', 1);
[bottom_col, bottom_row]= find(sum(I,3)', 1, 'last');
[left_row, left_col]= find(sum(I,3), 1);
[right_row, right_col]= find(sum(I,3), 1, 'last');
Run Code Online (Sandbox Code Playgroud)