`
kennyhazel
  • 浏览: 21734 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多

以前的代码:

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;
}

 

分享到:
评论

相关推荐

    PCA.rar_PCA人脸ORL_pca人脸识别_基于pca_改进 pca_改进PCA

    PCA首先对这些图像进行预处理,如灰度化、归一化等,然后计算协方差矩阵,进行特征值分解,选择具有最大方差的几个特征向量作为新的坐标轴,即主成分。 基于PCA的人脸识别过程通常包括以下步骤: 1. 数据预处理:对...

    KCF_data2_kcf_核相关滤波_kcfc源代码_

    - **标定的txt文件**:这些文本文件通常包含了目标的位置信息,如中心坐标和大小,用于初始化和评估跟踪结果的准确性。 **四、使用方法** 在实际应用中,你需要将这些解压后的文件添加到指定的路径"data\Benchmark...

    PCA.zip_主成分分析matlab代码

    5. 数据转换:将中心化后的数据投影到选取的主成分上,得到降维后的数据。这一步可以通过计算数据与主成分的内积来完成。 6. 反变换(可选):如果需要将降维后的数据恢复到原始空间,可以利用主成分的逆变换。 在...

    主成分分析算法进行人脸识别的代码

    PCA通过线性变换将原始数据转换到一组新的坐标系中,使得新坐标系中的各维度是原数据方差最大的方向。这种变换能够保留大部分的数据信息,同时减少数据的复杂度,提高计算效率。 人脸识别基于PCA的基本流程如下: ...

    鸟叔开源代码 绘制区域 求得目标边缘XLD,圆 直线

    图像处理包括图像的预处理(如灰度化、直方图均衡化)、特征提取(如边缘检测、角点检测)、图像分割等步骤。在这个项目中,鸟叔的目标是提取图像中的目标边缘,这属于特征提取的一部分。 3. **边缘检测算法**: ...

    matlab开发-用不同半径的射线通过时变图像检测环

    对于圆形检测,它将像素坐标转换为圆心距离和角度的参数空间,然后找出参数空间中的峰值,对应于图像中的圆心位置。 3. **时变图像**:时变图像通常指的是随时间变化的连续图像序列,例如视频流。在这种情况下,...

    基于Matlab的区域生长法分割图像

    1. **读取并转换图像**:首先通过`imread`函数读取bmp格式的图像文件,并使用`rgb2gray`函数将其转换为灰度图像。这一步骤对于简化后续处理非常关键,因为灰度图相比彩色图更容易进行像素间的比较。 2. **初始化...

    主成分分析c代码与原理

    4. **计算协方差矩阵**:在数据中心化后,计算数据的协方差矩阵,它描述了数据变量之间的线性关系和变异程度。 5. **特征值分解**:对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。特征值反映了各个...

    MATLAB_test_光斑质心_光斑_畸变矫正_标定_标定矫正.zip

    2. **质心计算**:在图像处理中,质心是图像所有像素强度加权平均位置的几何中心。计算光斑的质心可以帮助定位光源的位置,这对于光学系统的对准和分析至关重要。在MATLAB中,可以通过`im moments`函数来计算图像的...

    halcon几种定位方法C# 实现.rar

    通过Halcon的圆形检测算法,可以找出图像中所有可能的圆形对象,并根据半径、中心坐标等参数进行筛选,确定最接近预设条件的目标位置。 最后,基于线的定位在`LocationLine.cs`中被实现。这种方法适用于线性特征...

    openCv_testFaculae_opencv_激光定位算法OpenCV_

    重心法是一种简单的几何特性计算方法,用于确定一个形状的中心位置,适用于寻找图像中的激光点。 1. 图像预处理:在处理"上照式样品图"之前,通常需要进行预处理步骤,包括将彩色图像转换为灰度图像,这可以减少...

    定位激光光斑中心算法

    为了提高定位精度,可以结合其他图像处理技术,如高斯滤波去除噪声,或者使用更复杂的算法如最小二乘法、霍夫变换等进行改进。 在提供的文件列表中,"testFaculae完成"可能是测试光斑定位算法的代码或结果。通过...

    基于MATLAB的图像处理及跟踪算法.pdf

    在分割后的图像中,通过计算所有像素的平均坐标可以得到形心,以此来定位目标图像在帧中的精确位置。形心估计对于跟踪的精度至关重要,尤其是在目标形状和大小有所变化时。 4. MATLAB在图像处理中的应用:MATLAB...

    盖氏圆盘方法(GDE)计算均匀直线阵(ULA)中信号源个数估计.zip

    4. **极坐标转换**:将频域图像转换为极坐标系,以便于执行GDE算法。 5. **圆盘检测**:在极坐标图像中寻找局部最大值,作为信号源的估计。 6. **SNR影响分析**:通过Monte-Carlo模拟多次运行上述过程,收集不同...

    KMeans(C#)图像处理的实例源码

    - "SimpleKMeans修改.rar":可能包含改进后的KMeans算法实现,包括对C++代码的调整和优化。 - "SimpleKMeans原始.zip":原始的C++版本KMeans算法,供参考和对比。 - "KMeansClusterConsole":可能是一个命令行...

    matlab相机标定源码

    - **主点**(c_x, c_y):图像平面上的坐标,表示图像中心。 - **像素尺寸**:每个像素在实际物理空间中的大小。 - **畸变参数**:包括径向畸变(k1, k2, k3...)和切向畸变(p1, p2),用来校正由镜头非理想性...

    MATLAB文字连通域源程序代码.7z

    6. **区域属性**:标记后的连通域可以通过`regionprops`函数获取各种属性,如面积、周长、中心点坐标等,这些属性有助于区分和识别不同文字。 7. **轮廓提取**:`boundary`函数可提取连通域的轮廓,这对于进一步的...

    kcf代码详解.docx

    同时,将原始的矩形框信息转换为目标中心位置的坐标,方便后续处理。 5. **加载图像文件**:根据视频路径加载所有序列图片的文件名,支持自定义序列的加入,只要符合特定的命名规则和文件结构即可。 #### 三、跟踪...

    新建文件夹_摄像机标定_seldombt3_相机标定_

    摄像机标定是通过一系列已知几何形状的物体(通常为棋盘格)的图像,确定摄像机的内在参数(如焦距、主点坐标)和外在参数(如旋转和平移矩阵),以便将二维图像坐标转换为三维空间坐标。这个过程对于精确地进行物体...

    PCA人脸识别_人脸识别原理_pca人脸识别_

    然后,计算样本集的均值图像,作为零点中心化的基础。接着,求得样本协方差矩阵,并进行特征值分解,找出最大的几个特征值对应的特征向量,这些特征向量构成了新的主成分空间。 4. **降维**:将原始人脸图像投影到...

Global site tag (gtag.js) - Google Analytics