请看附件中的图片。这是一个矩阵的一小部分产生在一个更大的16位图像读取。我想设计一个过滤器,这样所有的非零值都得到了我想要使用的最频繁的数字的值,它将选择模式(内核中最频繁的数字重叠),但是它不能工作在边缘的非零数,因为那样的模式是0。有什么想法吗?如果我能在Emgu简历库找到这样的过滤器,那就更好了。

发布于 2015-03-23 14:47:46
谢谢你的回应。我找到了一个很好的方法。

希望能帮上忙。
发布于 2015-03-23 07:15:16
我不认为这可以通过简单的过滤器来完成,相反,我会这样做:
- create and set to zero integer counter per each possible color
- loop through all pixels (x,y) and increment used color counterint i,x,y,cnt65536;for (i=0;i<65536;i++) cnti=0;for(y.(x.)cnt[pixely]++;
- just find max number in `cnt[]` ignoring index 0
- found index `ix` is the color
- just replace each zero pixel(y.)(x.)如果(像素!=0) pixely=ix;
备注
for(x/y...)更改为正确的图像边界pixel[y][x]以获得正确的图像像素访问https://stackoverflow.com/questions/29203516
复制相似问题