请问我在处理二值图像的实验,其中二值图像的像素值是0和255,因为图像中的数据只有0和255两个数,
所以每一行中就能统计像素值为255的个数,现在的算法是从最后一行开始统计每一行中255的个数大于20个时,记录下此时的行号,程序停止。如果不大于20个则行号减小,直到最上边的那一行。
按照版主的点播,我的程序编写如下,但是对程序还是有点不理解,请看看我的编程思路符合要求吗?
global void Coordinate(ucharImage,int width,int height,intkk_y)
{
shared uchar S_Image[512];
int tid=threadIdx.x;
for(int j=height-1;j>=0;j++)
{
S_Image[tid]=Image[tid+j*width];
__syncthreads();
for(int i=blockIdx.x/2;i>0;i/=2)
{
if(tid<i)
{
S_Image[tid]=S_Image[tid+i];
}
}
if(S_Image[0]>=(uchar)(255*20))
{
kk_y[0]=j;
break;
}
}
}