智能车制作

标题: 今天看到一个二值化的帖子,大家看看是不是有问题 [打印本页]

作者: xil    时间: 2013-1-22 16:02
标题: 今天看到一个二值化的帖子,大家看看是不是有问题
这个函数是用来交换二值化前数据的,之前两个数组的定义如下
#define ROW 36
#define COLUMN 70
unsigned char Buffer[ROW][COLUMN];
unsigned char Buffer_Temp[ROW][COLUMN];
我不明白:如果{*(q_Image++)=*p_Image; } 的话(q_Image先自加?),那么也就是Buffer_Temp[1]==Buffer[0]……Buffer_Temp[35]==Buffer[34],那么Buffer_Temp[0]的值不就为空了吗???而且Buffer[35]的值也并没有付给Buffer_Temp啊?????在线求解释

作者: xil    时间: 2013-1-22 16:23
自己顶
作者: 淡定戈    时间: 2013-1-22 16:45
好像没看到二值化的操作。不知你想干什么
虽然C语言不提倡用[],但为了提高可读性,还是建议:
void Image_Binaryzation(unsigned char T) //T 为阈值
{
    int p,q;
    for(p=0;p<ROW;p++)
        for(q=0;q<COLUMN;q++)
            Buffer_Temp[p][q] =(unsigned char) (Buffer_Temp[p][q] > T)  ;
}
作者: mxj1005071012    时间: 2013-1-22 17:00
程序是错误的
作者: 淡定戈    时间: 2013-1-22 17:04
只是提出一种想法,程序当然无法直接使用。
作者: xil    时间: 2013-1-22 17:09
我把程序穿上了大家看看
作者: yangbw4978    时间: 2013-1-22 19:39
这个程序后面有几句是二值化的,你仔细看看
作者: xil    时间: 2013-1-22 19:43
yangbw4978 发表于 2013-1-22 19:39
这个程序后面有几句是二值化的,你仔细看看

——————这个函数是用来交换二值化前数据的——————
作者: xil    时间: 2013-1-22 19:44
淡定戈 发表于 2013-1-22 16:45
好像没看到二值化的操作。不知你想干什么
虽然C语言不提倡用[],但为了提高可读性,还是建议:
void Imag ...

求教为什么不能用[]
作者: exiao    时间: 2013-1-22 20:04
晕啊,爪机党看不到图片。
作者: yangbw4978    时间: 2013-1-22 20:22
xil 发表于 2013-1-22 19:43
——————这个函数是用来交换二值化前数据的——————

我知道 我之前看过这个程序 就在后面几段有个比较呢块儿 是二值化的,之前也定义了一个阈值么 值是个0x76好像,记不清了。。

作者: 淡定戈    时间: 2013-1-23 10:40
xil 发表于 2013-1-22 19:44
求教为什么不能用[]

当然能用,只是用[]比用指针效率低一点,不过用[]不容易出错,我就常用[],呵呵
作者: xil    时间: 2013-1-23 13:07
淡定戈 发表于 2013-1-23 10:40
当然能用,只是用[]比用指针效率低一点,不过用[]不容易出错,我就常用[],呵呵

谢谢
作者: I'M_Not_The    时间: 2013-1-23 17:52





欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2