圖像平移就是將圖像中的所有像素點按照給定的平移量進行水平(x方向)或垂直(y方向)移動。
基本介紹
- 中文名:圖像平移
- 外文名:Image shift
例子
圖像平移規律
代碼
void ImageTranslation(const Mat& src, Mat& dstImage, int Xoffset, int Yoffset){dstImage.create(src.size(), src.type());int rowNum = src.rows;int colNum = src.cols;for (int i = 0; i < rowNum; i++){for(int j = 0; j < colNum; j++){int x = j - Xoffset;int y = i - Yoffset;if (x > 0 && x < colNum && y > 0 && y < rowNum){dstImage.at<Vec3b>(i, j) = src.at<Vec3b>(y, x);}}}}//平移圖像,圖像大小改變void ImageTranslation2(const Mat& src, Mat& dstImage, int Xoffset, int Yoffset){int nRowNum = src.rows + abs(Yoffset);int nColNum = src.cols + abs(Xoffset);dstImage.create(nRowNum, nColNum, src.type());for (int i = 0; i < nRowNum; i++){int y = i - Yoffset;for (int j = 0; j < nColNum; j++){int x = j - Xoffset;if (x > 0 && x < src.cols && y > 0 && y < src.rows){dstImage.at<Vec3b>(i, j) = src.at<Vec3b>(y, x);}}}}