【发布时间】:2020-02-22 19:10:42
【问题描述】:
我正在编写用于腐蚀或膨胀的手动代码。而且我不知道为什么下面的代码不起作用。
如您所见,当我处于 (i,j) 点时,我会绕过该点并寻找任何白色像素。如果有任何地方(在 Little 3x3 矩阵 (ii,jj) 中)白色像素,我将 (i, j) 点更改为白色。
有人知道为什么它不起作用吗?
我确保自己加载了二进制图像。如果我计算白色和黑色像素,那么我就会知道正确的像素数。
for (int i=1; i<gray.cols-1; i++)
{
for(int j=1; j<gray.rows-1; j++)
{
ii=i;
jj=j;
for (ii-1; ii<i+2; ii++ )
{
for (jj-1; jj<j+2; jj++ )
{
if (gray.at<uchar>(ii,jj) ==255)
gray.at<uchar>(i,j) = 255;
};
};
};
如果有人知道如何以不同的方式做到这一点?
【问题讨论】: