图像分割(阈值分割和区域生长)vc++代码(4)
时间:2025-07-03
时间:2025-07-03
int EnQu(struct queue *q,int x)
{
if(q->rear==q->front && q->tag==1)//表示队列已满
return 0; else { q->qu[q->rear]=x; q->rear=(q->rear+1); //尾指针向后走一步 if(q->rear==q->front) //若有元素入队以后出现q->rear==q->front,则表示队列满 q->tag=1; return 1; }
}
int DeQu(struct queue *q)
{
if(q->rear==q->front && q->tag==0)//表示队空
return 0;
else
{ q->qu[q->front]=0;//将队头元素的值赋值为0
q->front=(q->front+1);//头指针向后走一步
if(q->rear==q->front)//若有元素出队以后出现q->rear==q->front,则表示队列空 q->tag=0;
return 1;
}
}
int main( int argc, char** argv )
{
IplImage* pImg; //声明IplImage指针
int height,width,step,channels; uchar *data;
int i,j;
struct queue *q,*p; //分别存放X Y坐标
q=InitQu();
p=InitQu();
//载入图像
pImg = cvLoadImage("1.jpg",0); if( !pImg )
{
printf("Image was not loaded.\n");
return -1;
}