图像中心化后坐标转换_代码改进

以前的代码:

float changeCoorinateX(float x){	
	int tempX=(int)x;
	if ((tempX<W/2)){
	   x=x+float(W/2);
	   if(x>W/2){
	   x=x-W;
	   }
	}
	
	if ((tempX>=W/2)){
	x=x-(float)(W/2);
	}
	
	return x;		
}

float changeCoorinateY(float y){
			
	int tempY=(int)y;
	if ((tempY<H/2)){
	   y=y+float(H/2);
	   if(y>H/2){
	   y=y-H;
	   }
	}
	
	if ((tempY>=H/2)){
	  y=y-(float)(H/2);
	}
	
	return y;		
}

 

改进后的代码封装:

 

 

float changeCoorindate(float coorindate,bool isXY){
	int icoorindate=(int)coorindate;
	if(isXY){
		if(icoorindate<W/2){
		coorindate=coorindate+float(W/2);
			if(coorindate>W/2){
			coorindate=coorindate-W;
			}//end if
		}else{
		coorindate=coorindate-(float)(W/2);     
		}
	}else{
		if(coorindate<H/2){
		coorindate=coorindate+float(H/2);
			if(coorindate>H/2){
			coorindate=coorindate-H;
			}
		}else{
		coorindate=coorindate-(float)(H/2);
		}
	
	}

	return coorindate;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值